인트라넷 앱을위한 HTTP 기반 API를 설계하고 있습니다. 나는 그것이 대단한 계획에서 매우 작은 관심사라는 것을 알고 있지만 URI에서 단어를 구분하기 위해 하이픈, 밑줄 또는 낙타 케이스를 사용해야합니까?
나의 초기 생각은 다음과 같습니다.
낙타
- 서버가 대소 문자를 구분하지 않는 경우 가능한 문제
- 쿼리 문자열 키 ( http://api.example.com ? searchQuery = ...) 에서 상당히 널리 사용되는 것으로 보이지만 다른 URI 부분에서는 그렇지 않습니다.
하이픈
- 다른 대안보다 심미적으로 기쁘다
- URI의 경로 부분에서 널리 사용되는 것 같습니다.
- 야생에서 하이픈으로 연결된 쿼리 문자열 키를 본 적이 없음
- 아마도 (이 신화 일 수 있음) 검색 엔진 최적화에 대한 더 나은
밑줄
- 프로그래밍 언어가 다루기가 더 쉬울 것
- 몇몇 유명한 API (Facebook, Netflix, StackExchange 등)는 URI의 모든 부분에서 밑줄을 사용합니다.
나는 모든 것에 대한 밑줄로 기울고 있습니다. 대부분의 큰 플레이어가 사용하고 있다는 사실은 매력적입니다 ( https://stackoverflow.com/a/608458/360570 참조 ).
hyphenated query string in the wild
. 그것은 일반적으로 camelCase의 시간입니다.