Estou projetando uma API baseada em HTTP para um aplicativo de intranet. Sei que é uma preocupação muito pequena no grande esquema das coisas, mas: devo usar hífens, sublinhados ou camelCase para delimitar palavras nos URIs?
Aqui estão meus pensamentos iniciais:
camelCase
- possíveis problemas se o servidor não diferencia maiúsculas de minúsculas
- parece ter uso bastante difundido nas chaves de cadeia de caracteres de consulta ( http://api.example.com ? searchQuery = ...), mas não em outras partes do URI
Hífen
- esteticamente agradável do que as outras alternativas
- parece ser amplamente utilizado na parte do caminho do URI
- nunca vi uma chave de string de consulta hifenizada na natureza
- possivelmente melhor para SEO (isso pode ser um mito)
Sublinhado
- potencialmente mais fácil para as linguagens de programação manipularem
- várias APIs populares (Facebook, Netflix, StackExchange etc.) estão usando sublinhados em todas as partes do URI.
Estou inclinado a sublinhados de tudo. O fato de a maioria dos grandes players usá-los é convincente (consulte https://stackoverflow.com/a/608458/360570 ).
hyphenated query string in the wild
. Normalmente, é o momento do camelCase.