Из другого ответа, я думаю, вы ищете это:
POST /books/search
{
"keywords": "...",
"yearRange": {"from": 1945, "to": 2003},
"genre": "..."
}
Нет ничего плохого в этой конечной точке.Он принимает данные (сущность) в виде тела запроса.Эти данные являются критериями поиска - DTO, как и любой другой.Эта конечная точка создает ресурс (сущность) в ответ на запрос: Результаты поиска.Ресурс результатов поиска является временным ресурсом, который незамедлительно предоставляется клиенту, без перенаправления и не предоставляется другим каноническим URL.
Это все еще REST, за исключением того, что объекты не являются книгами - объект запросаявляется критерием поиска книг, а объект ответа - результаты поиска книг.
Посмотрите на этот ответ для более подробной информации: https://stackoverflow.com/a/31984477/37083
Используя эту структуру, вы можете легко расширить поиск с помощьюдругие сложные предметы
POST /books/search
{
"keywords": "...",
"yearRange": {"from": 1945, "to": 2003},
"genre": "...",
"groupby": "year",
"countby": "keywords"
}