当前位置: 首页 > 知识库问答 >
问题:

如何使内容类型application/x-www-form-urlencoded与@RequestBody注释一起工作?

孔山
2023-03-14

当内容类型为application/json时,@RequestBody可以读取请求主体并将其反序列化为对象,但内容类型为application/x-www-form-urlencoded,spring mvc无法支持带有@RequestBody注释的此内容类型。

在我的项目中,我遇到了这个问题,我想同时支持他们两个,但我不想失去@quiestBody的便利性。

有没有另一种方法来支持这两种内容类型,像@刚体可以自动反序列化请求体到对象?

@RequestMapping(value = "/test")
public String test(@RequestBody User user) {
  return user.toString();
}

共有1个答案

倪德业
2023-03-14

有没有另一种方法来支持这两种内容类型,像@刚体可以自动反序列化请求体到对象?

消极的

您可以使用FormHttpMessageConverter反序列化为多值映射

 类似资料:
  • 问题内容: 我写了下面的@Controller方法 请求失败并出现以下错误 [PS:泽西岛要友好得多,但鉴于此处的实际限制,现在无法使用它] 问题答案: 问题在于,当我们使用application / x-www-form-urlencoded时,Spring不会将其理解为RequestBody。因此,如果要使用它,则必须删除@RequestBody批注。 然后尝试以下操作:

  • 问题内容: 基于Spring @Controller对x-www-form-urlencoded的问的答案 我写了下面的@Controller方法 失败的请求因以下错误 [PS:Jersey要友好得多,但鉴于这里的实际限制,现在无法使用它] 问题答案: 问题在于,当我们使用 application / x-www-form-urlencoded时 ,Spring不会将其理解为RequestBody

  • 我试图弄清楚为什么当Spring处理程序方法包含注释时,我不能从jquery.ajax调用接收请求。考虑以下几点: HTML/JavaScript: Java: 如果出现注释,上述操作将失败,并返回一个415错误(不会生成异常)。但是,如果删除注释(即参数签名只是),那么将调用该方法并将JSON返回给JavaScript。 为什么会这样呢?请求包括请求正文中的数据。注释不应该处理这样的请求吗? 我

  • 我有一个api要求在标题中发送以下参数- 内容类型-应用程序/x-www. form-urlencoded AuthKey-(会话令牌) 以及正文中的以下参数(表单日,即键值对) storeId-1 类型-产品 类别ID-324 但是每当我点击这个api,我总是得到401(未授权)错误。我已经尝试使用MultipartRequest正文和formBody,我知道这与正文无关(它的头,我需要发送内容

  • @PostMapping public UserResponse createUser(@RequestBody UserRequest userDetail){ 这是我收到的错误代码 } 我尝试了很多不同的方法仍然没有得到解决方案这是来自邮递员的图片来自邮递员的图片

  • 我以前有ElasticSearch 5.2,刚刚升级到6.0。 我试图创建一个索引模板以下指南在这里,但得到了错误 我的问题是