URL 케이스
- CamelCase
- Java 언어로 대중화되었다.
- 대소 문자로 구분하지 않는 컨텍스트에서 비효율적이다.
- snake_case
- C 프로그래머가 수년 동안 널리 사용했다.
- 언더바(_)는 컴파일러나 인터프리터가 기호로 이해할 수 있다.
- 사용할 수 없는 컨텍스트는 거의 없다.
- spinal-case
- 일부 언어에서 (변수,클래스,함수) 이름에 하이픈을 허용하지 않는다.
- lisp-case라고도 한다.
- UNIX, Linux 시스템에서 폴더 및 파일 이름을 지정하는 전통적인 방법이다.
슬래시 구분자(/)는 계층관계를 나타내는데 사용한다.
URI 마지막 문자로 (/)는 포함하지 않는다.
하이픈(-)은 URI 가독성을 높이는데 사용한다.
밑줄(_)은 사용하지 않는다.
URI경로에는 소문자가 적합하다.
파일확장자는 URI에 포함하지 않는다.
프로그래밍 언어에 의존적인 확장자를 사용하자 않는다.
구현에 의존적인 경로를 사용하지 않는다.
세션ID를 포함하지 않는다.
프로그래밍 언어의 Method명을 이용하지 않는다.
명사에 단수형보다는 복수형을 사용해야 한다. 컬렉션에 대한 표현은 복수로 사용
컨트롤러 이름으로는 동사나 동사구를 사용한다.
경로 부분 중 변하는 부분은 유일한 값으로 대체한다.
CRUD 기능을 나태내는 것은 URI에 사용하지 않는다.
URI Query Parameter 디자인
API에 있어서 서브 도메인은 일관성 있게 사용해야 한다.
클라이언트 개발자 포탕 서브 도메인은 일관성 있게 만든다.
REFERENCES