Trait d'union, un trait de soulignement ou camelCase comme délimiteurs de mot dans les Uri?

Je suis de la conception d'un réseau HTTP API pour un intranet d'application. Je me rends compte que c'est un joli petit souci dans le grand schéma des choses, mais: dois-je utiliser des traits d'union, des traits de soulignement, ou camelCase pour séparer les mots dans les Uri?


Voici mes premières impressions:

camelCase

  • problèmes possibles si le serveur est insensible à la casse
  • semble avoir assez large utilisation dans la chaîne de requête de touches (http://api.example.com?a=...), mais pas dans d'autres URI pièces

Trait d'union

  • plus esthétique que les autres solutions
  • semble être largement utilisé dans la partie du chemin d'accès de l'URI
  • jamais vu un trait d'union de la chaîne de requête de la clé dans la nature
  • éventuellement mieux pour le RÉFÉRENCEMENT (ce peut être un mythe)

Trait de soulignement

  • potentiellement plus facile pour les langages de programmation pour gérer
  • plusieurs Api (Facebook, Netflix, StackExchange, etc.) utilisez des caractères de soulignement dans toutes les parties de l'URI.

Je suis penchée vers souligne de tout. Le fait que la plupart des gros joueurs sont l'utilisation, est convaincant (voir https://stackoverflow.com/a/608458/360570).

  • De tout ce que j'ai lu, vous devez utiliser des traits d'union, mais des traits de soulignement semble plus facile à gérer.
  • Pourquoi?
  • Je crois que des traits d'union ont été, à un moment, le mieux pour les fins de SEO. Cela pourrait ne pas être vrai aujourd'hui, mais beaucoup de gens l'ont adopté, il est de plus en plus largement accepté comme une meilleure pratique. des traits de Soulignement d'autre part, peut-être plus facile à traiter dans le backend de programmation. J'utilise le PHP, il est donc beaucoup plus facile d'utiliser un trait de soulignement pour un nom de fonction qu'un trait d'union. camelCase peut-être le plus facile à mettre en œuvre, mais la lecture, il est souvent difficile. Enfin, je pense que vous avez raison quand vous avez dit que vous ne verrez jamais un hyphenated query string in the wild. C'est généralement un temps pour camelCase.
  • Conformément à cette question, le trait de soulignement n'est pas une option valide: stackoverflow.com/questions/3641722/...
  • Double Possible de il y a aucune convention de nommage des lignes directrices pour l'Api REST?
  • Vous mentionnez populaire Api, j'aimerais ajouter un: Google. Autant que je l'ai vu, Google utilise rien du tout entre les mots (vérifier les Cartes Google maps Matrice de Distance de l'API par exemple).

InformationsquelleAutor Josh Johnson | 2012-04-24