Reposant URL de conception pour la recherche

Je suis à la recherche d'un moyen raisonnable de représenter les recherches comme une bonne Url.

L'installation: j'ai deux modèles, les Voitures et les Garages, où les Voitures peuvent être dans les Garages. Donc, mon url comme:

/car/xxxx
  xxx == car id
  returns car with given id

/garage/yyy
  yyy = garage id
  returns garage with given id

Une Voiture peut exister sur son propre (d'où le /voiture), ou il peut exister dans un garage. Quelle est la bonne manière de représenter, dire que toutes les voitures dans un garage? Quelque chose comme:

/garage/yyy/cars     ?

Comment au sujet de l'union de voitures dans le garage yyy et zzz?

Quelle est la bonne façon de représenter une recherche pour les voitures avec certains de ses attributs? Dire: montrez-moi tout bleu berline avec 4 portes :

/car/search?color=blue&type=sedan&doors=4

ou devrait-il être /voitures place?

L'utilisation de "recherche" semble inapproprié y - ce qui est un meilleur moyen /long terme? Devrait-il être juste:

/cars/?color=blue&type=sedan&doors=4

Devrait les paramètres de recherche de la partie de la PATHINFO ou QUERYSTRING?

En bref, je suis à la recherche de conseils pour la croix-modèle RESTE url de conception, et pour la recherche.

[Mise à jour] j'aime Justin réponse, mais il ne couvre pas le multi-domaine de recherche de cas:

/cars/color:blue/type:sedan/doors:4

ou quelque chose comme ça. Comment allons-nous partir d'

/cars/color/blue

aux multiples sur le terrain?

  • Bien qu'il semble de mieux en anglais, mélange /cars et /car n'est pas semantical et donc une mauvaise idée. Toujours utiliser le pluriel quand il y a plus d'un élément dans cette catégorie.
  • Ce sont de mauvaises réponses. La recherche doit utiliser des chaînes de requête. Les chaînes de requête sont 100% Reposante lorsqu'il est utilisé correctement (c'est à dire, pour la recherche).
  • découvrez doriantaylor.com/policy/http-url-path-parameter-syntax
InformationsquelleAutor Parand | 2008-10-16