Я ищу разумный способ представления поисков как URL RESTful.
Настройка: у меня две модели, автомобили и гаражи, где автомобили могут находиться в гаражах. Поэтому мои URL-адреса выглядят так:
/car/xxxx
xxx == car id
returns car with given id
/garage/yyy
yyy = garage id
returns garage with given id
Автомобиль может существовать сам по себе (отсюда/автомобиль), или он может существовать в гараже. Какой правильный способ представить, скажем, все автомобили в данном гараже? Что-то вроде:
/garage/yyy/cars ?
Как насчет объединения автомобилей в гараже yyy и zzz?
Какой правильный способ представить поиск автомобилей с определенными атрибутами? Скажите: покажите мне все синие седаны с 4 дверями:
/car/search?color=blue&type=sedan&doors=4
или это должно быть/автомобили вместо?
Использование "поиска" кажется неуместным - какой лучший способ/срок? Должно ли это быть:
/cars/?color=blue&type=sedan&doors=4
Должны ли параметры поиска быть частью PATHINFO или QUERYSTRING?
Короче говоря, я ищу хорошее руководство/учебное пособие для кросс-модельного дизайна REST url и для поиска.
[Обновить] Мне нравится ответ Джастина, но он не охватывает многопользовательский поиск:
/cars/color:blue/type:sedan/doors:4
или что-то в этом роде. Как мы переходим от
/cars/color/blue
для случая с несколькими полями?