Как создать механизм транзакции для доступа к ДВУМЯ различным ресурсам rest api? - PullRequest
0 голосов
/ 04 мая 2020

Я хочу выполнить два POST запроса к двум разным конечным точкам, возможно ли это сделать транзакционным способом?

1 Ответ

0 голосов
/ 05 мая 2020

Я хочу выполнить два запроса POST к двум разным конечным точкам, возможно ли это сделать транзакционным способом?

Нет.

Нет правила, что говорит, что влияние POST будет ограничено только одним ресурсом. В Интернете мы можем отправить одну форму HTML, которая изменяет несколько страниц. Реализации имеют большую свободу при обработке запроса (HTTP ограничивает значение сообщения, а не реализации обработчика).

POST / replace / these / resources / with / empty / documents Content-Type: text / plain

/ A / B / C / D / E / F? G

Однако отсутствует возможность сообщать компонентам общего назначения, какие ресурсы были изменены при обработке запроса POST. Механизм, описанный RF C 7234 , обрабатывает только несколько простых случаев и не распространяется (насколько я могу судить) в целом.

Вы получаете не более трех

  • эффективный uri запроса
  • Location
  • Content-Location

и как Location, так и Content-Location означает что-то, так что вы можете получить беспорядок, если попытаетесь заставить их выйти из их нормальной семантики.

Вы, конечно, можете отправить ответ, который включает в полезную нагрузку список всех ресурсов, которые были изменены вашей транзакцией (если это возможно), но у вас нет никакого способа перенести эту информацию в метаданные, где ее смогут использовать компоненты общего назначения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...