Я часто сталкивался с такой ситуацией в прошлом проекте.Поскольку REST - это хорошо ... о ресурсах, не всегда понятно, как обращаться с вещами, которые действительно RPC по своей природе.
Простой способ обойти это - думать о нем как о бюрократическая часть отдыха , запросом может быть сам ресурс:
1.«Вы хотите запустить команду на моем сервере? Сначала заполните эту форму I90292 и отправьте ее нам»:
POST /bureaucracy/command-request
Content-Type: application/x-www-form-urlencoded
Content-Length: ...
"Хорошо, посмотрим, что мы можем сделать. Ваш номер дела - 999"
201 Создано (или 202 Принято согласно комментарию Кугеля) Местоположение / бюрократия / команда-запрос / 999
А затем клиент регулярно проверяет
GET / бюрократия / команда-запрос / 999
Надеюсь, он получит ответ, подобныйследующий
200 OK
<command-request>
<number>999</number>
...
<result>Success</result>
</command-request>
Конечно, если бюрократическая служба пользуется большим вниманием клиентов, она предложит клиенту позвонить ему, когда это будет сделано, если он захочет:
"Вы хотите запустить команду на нашем сервере?Пожалуйста, заполните эту форму и отправьте ее нам. Обратите внимание, что вы можете присоединиться к своей контактной информации, чтобы мы могли позвонить вам, когда это будет сделано "
POST /bureaucracy/command-request?callback=client.com/bureaucracy/inbox
Или как пользовательский заголовок http X-Callback: http://client.com/bureaucracy/inbox