分析异常org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public com.asiadb.common.core.domain.AjaxResult com.asiadb.web.controller.vcc.vccManage.vccCardInfo.VccCardInfoController.auditSuccess(com.asiadb.vcc.vccManage.vccCardInfo.domain.VccCardInfo) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:163) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:133) at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:179) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:146) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
时间: 2023-12-11 15:05:13 浏览: 51
这个异常是由于请求的请求体缺失导致的。更具体地说,它发生在Spring MVC的RequestResponseBodyMethodProcessor中,该处理负责将请求体转换为方法参数。在这种情况下,方法是com.asiadb.web.controller.vcc.vccManage.vccCardInfo.VccCardInfoController.auditSuccess,它需要一个类型为com.asiadb.vcc.vccManage.vccCardInfo.domain.VccCardInfo的参数。但是,请求中缺少这个参数,因此无法将请求体转换为方法参数,从而导致了这个异常。
相关问题
org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public
报错信息"org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public"是由Spring框架的HttpMessageConverters组件引发的异常。这个异常表明在处理请求时,控制器方法需要一个请求体,但实际上请求体为空。
解决这个问题的方法是确保客户端请求中包含了请求体。可以通过以下几种方式来解决:
1. 确保客户端发送的请求中包含了请求体,并且请求体的格式正确。比如,在发送POST请求时,需要在请求头中设置Content-Type为application/json,并且在请求体中包含有效的JSON数据。
2. 检查控制器方法的参数注解。如果方法参数使用了@RequestBody注解,表示该参数从请求体中获取数据。如果请求体为空,就会触发该异常。可以考虑将@RequestBody注解换成其他注解,如@PathVariable,从路径中获取数据。
3. 检查是否存在请求参数校验的相关配置。如果启用了请求参数校验功能,可能会导致请求体为空时触发异常。可以尝试禁用请求参数校验,或者修改校验配置。
综上所述,解决这个异常的关键是确保请求中包含了有效的请求体,并且检查控制器方法的参数注解和请求参数校验配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [org.springframework.http.converter.HttpMessageNotReadableException错误原因及解决办法](https://blog.csdn.net/qq_43055855/article/details/110095103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing](https://blog.csdn.net/z1427094386/article/details/120386072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing:
Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public boolean com.reap.demo.controller.CRUDController.updateById(com.reap.demo.domain.User)] 这个错误信息的含义是请求中缺少了必需的请求体。解析问题时,我们可以看到在后台方法参数上添加了@RequestBody注解,这意味着需要将请求参数封装成User对象,并且需要使用JSON(application/json)格式的数据。
为了解决这个问题,我们可以在Postman中进行如下设置来正常访问并便于调试。
另外,根据提供的代码,我们可以看到在CRUDController类中有一个updateById方法,它接收一个User对象作为参数,并返回一个boolean类型的值。这个方法用于修改用户信息。
综上所述,为了解决这个错误,我们需要确保请求中有正确的请求体,并且使用JSON(application/json)格式的数据。同时,我们还需要检查updateById方法的实现是否正确。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body](https://blog.csdn.net/D_Zhou_Sir/article/details/121676615)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]