'UserId' es totalmente el enfoque equivocado. El enfoque verbal (métodos HTTP) y sustantivo es lo que Roy Fielding significó para la arquitectura REST . Los sustantivos son:
- Una colección de cosas
- Una cosa
Una buena convención de nomenclatura es:
[POST or Create](To the *collection*)
sub.domain.tld/class_name.{media_type}
[GET or Read](of *one* thing)
sub.domain.tld/class_name/id_value.{media_type}
[PUT or Update](of *one* thing)
sub.domain.tld/class_name/id_value.{media_type}
[DELETE](of *one* thing)
sub.domain.tld/class_name/id_value.{media_type}
[GET or Search](of a *collection*, FRIENDLY URL)
sub.domain.tld/class_name.{media_type}/{var}/{value}/{more-var-value-pairs}
[GET or Search](of a *collection*, Normal URL)
sub.domain.tld/class_name.{media_type}?var=value&more-var-value-pairs
Donde {media_type} es uno de: json, xml, rss, pdf, png, incluso html.
Es posible distinguir la colección agregando una 's' al final, como:
'users.json' *collection of things*
'user/id_value.json' *single thing*
Pero esto significa que debe realizar un seguimiento de dónde ha colocado la 's' y dónde no. Además, la mitad del planeta (asiáticos para empezar) habla idiomas sin plurales explícitos, por lo que la URL es menos amigable para ellos.