Я розробляю API на основі HTTP для програми інтранет. Я усвідомлюю, що це велика проблема в грандіозній схемі речей, але: чи слід використовувати дефіси, підкреслення або camelCase для розмежування слів у URI?
Ось мої початкові думки:
camelCase
- можливі проблеми, якщо сервер нечутливий до регістру
- Схоже, має досить широке використання в рядкових клавішах запиту ( 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.