REst GET 与具有大消息正文的 POST

Rav*_*avi 5 architecture rest http http-get http-post

我遇到的情况是,我正在努力解决现实世界中的 REst GET 和 POST 架构哲学。

我有一个本质上是幂等的 REst 调用。它需要在其有效负载中包含复杂的数据类型(XML 中的保险单),对其执行复杂的业务逻辑并返回保费。它对状态没有任何作用,因此本质上是幂等的。

REst 调用目前是 POST。这样做的有效理由是消息正文很大,很可能会被丢弃并在 Internet Explorer 中变得混乱。然而,它也是幂等的,并且从根本上违反了 GET 与 POST 的原则。

以前有人遇到过这个难题吗?谢谢。

lol*_*lol 2

我有同样的问题,我的解决方案是务实的。我的 API 在面临 GET 请求限制时甚至使用 POST 实现幂等,因此:

If the form data would contain non-ASCII characters or;
If the form data set is large.
Run Code Online (Sandbox Code Playgroud)

我认为还有其他例外,但我现在想不出一个。

更新:还有一个例外,如果出于某种原因,我不希望参数在请求 url 中可见,我也会使用 POST 实现幂等。