REST о ресурсах. Какой ресурс вернет ваш запрос? Набор данных? Как определяется этот набор? Как это параметризовано? Это должно определить URL, который вы будете использовать с операцией GET:
GET /customers would retrieve all customers
GET /customers?q=<query> would retrieve all customers matching the query
РЕДАКТИРОВАТЬ: следующее не совсем так ясно для меня
Думая о запросе как о поиске ресурса, который представляет собой набор клиентов (например), я начал задумываться о четко определенных подмножествах набора всех клиентов. Рассмотрим такие вещи, как:
GET /customers/state/MA Retrieve all customers in Massachusetts
GET /customers/country/UK All in the UK
GET /customers/country/UK/postalcode/001-234 All in that postal code in the UK
Подобные ресурсы имеют для меня смысл как четко определенные ресурсы, а не как запросы. Я бы продолжал использовать строку запроса для получения произвольного набора клиентов, но там, где существует естественное разделение клиентов, я мог бы указать это в пространстве URL.
Напомним, что операция GET предназначена для идемпотентных операций и предназначена для ускорения кэширования. Ответ на эти запросы должен позволять некоторое разумное количество кэширования (возможно, один день). Это позволит клиентскому компьютеру или прокси-серверу кэшировать набор результатов в течение некоторого периода времени, сохраняя повторные обращения к серверу.