Я ищу разумный способ представления поисковых запросов в виде RESTful URL.
Установка: у меня есть две модели, Автомобили и Гаражи, где Автомобили могут быть в Гаражах. Так что мои 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
в случае нескольких полей?