Spring @RequestBody是否支持GET方法?

Hon*_*ian 12 get spring-mvc

我试图在HTTP GET请求消息中携带JSON数据,但我的Spring MVC服务器似乎无法从GET请求体中检索JSON数据.

Lel*_*ton 16

HTTP的GET方法不包括请求正文作为规范的一部分.Spring MVC尊重HTTP规范.具体而言,允许服务器丢弃正文.请求URI应包含制定响应所需的所有内容.

如果您需要请求正文,请将请求类型更改为POST,其中包括请求正文.

  • spring `v5.3.6` 支持带有 GET 的请求体。 (7认同)
  • 确切地。现在的 HTTP 规范没有提及任何此类内容(除了 GET 请求正文语义独立于 GET 请求处理语义之外。) (3认同)
  • 哪个规格?基于链接(/sf/ask/68464301/#comment68112820_983458),“HTTP/1.1规范”现在已过时。 (2认同)
  • POST 方法不仅仅用于添加/删除等更改。? (2认同)
  • 事实上,正如您所指出的,Spring 必须丢弃 GET 调用的主体。我只是想进一步讨论 - 使用 POST 的问题,只是为了包含请求主体 - 我们正在改变调用的含义。就像,所有想要做的就是“获取”资源,并且我想在请求正文中指定其他条件。当我使用 post call 时,看起来好像我想保存一些东西,但实际上我没有保存任何东西。这就是为什么我觉得 GET 调用应该支持 RequestBody。如果我在这里遗漏了什么,请纠正我。谢谢。 (2认同)