Я разрабатываю API на основе HTTP для приложения в интрасети. Я понимаю, что это довольно небольшая проблема в общей схеме вещей, но: я должен использовать дефисы, подчеркивания или camelCase для разделения слов в URI?
Вот мои первые мысли:
верблюжьего
- возможные проблемы, если сервер нечувствителен к регистру
- кажется, довольно широко используется в ключах строки запроса ( http://api.example.com ? searchQuery = ...), но не в других частях URI
Дефис
- более эстетично, чем другие альтернативы
- кажется, широко используется в части пути URI
- никогда не видел дешифрованный ключ строки запроса в дикой природе
- возможно лучше для SEO (это может быть мифом)
Подчеркивать
- потенциально легче для языков программирования для обработки
- несколько популярных API (Facebook, Netflix, StackExchange и т. д.) используют подчеркивания во всех частях URI.
Я склоняюсь к подчеркиваниям для всего. Тот факт, что большинство крупных игроков используют их, убедителен (см. Https://stackoverflow.com/a/608458/360570 ).
hyphenated query string in the wild
. Как правило, это время для CamelCase.