Как часть службы REST, мне нужно реализовать поисковый вызов.Основная идея состоит в том, что пользователь может ПОСТАВИТЬ новый поиск и ПОЛУЧИТЬ результаты:
POST http://localhost/api/search
GET http://localhost/api/search?id=123
Однако мой поиск может продолжаться несколько минут и возвращать частичные результаты, пока он не будет выполнен.То есть GET-запрос будет возвращать что-то вроде:
status: running
results: a, b, c.
, тогда как следующий GET-запрос может вернуть
status: completed
results: a, b, c, d, e.
Это противоречит семантике запроса RESTful GET.Запрос всегда должен возвращать один и тот же результат при вызове несколько раз.Например, когда пользователь использует прокси-сервер кэширования, полные результаты могут никогда не доставляться пользователю.
Вопрос: Есть ли способ обеспечить действительно RESTful-реализацию для длительных поисков с частичными результатами?