Я создаю REST-интерфейс для моего приложения, используя ROA (Resource-Oriented Architecture).
Я бы хотел дать клиенту возможность указывать параметры поиска в URL. Чтобы клиент мог сказать: «Дайте мне всех людей, которые:
- "first_name" равно "BOB"
- «возраст» больше, чем «30»
- сортировка по "фамилии"
Я думал что-то вроде:
GET /PEOPLE/{query_parameters}/{sort_parameters}
... или, возможно,
GET /PEOPLE?query=<query_string>&sort=<sort_string>
... но я не уверен, какой синтаксис будет полезен для указания в трех экземплярах COLUMN_NAME-OPERATOR-VALUE. Я думал, что-то вроде:
column_name.operator.value
Чтобы клиент мог сказать:
GET /PEOPLE?query=first_name.EQUALS.bob&query=age.GREATER_THAN.30&sort=last_name.ASCENDING
Я действительно не хочу заново изобретать колесо, есть ли приемлемые способы, как это сделать? Я использую Restlets, я не знаю, если это имеет значение.