2024-12-12
报错代码:
public ApiResponseBody jlImportData(@RequestBody String loginData,@RequestBody String userData) {
return ApiResponseBody.defaultSuccess();
}
org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public com.fawkes.core.base.api.ApiResponseBody com.fawkes.back.wkgl.archive.controller.WkglFilingFormController.jlImportData(java.lang.String,java.lang.String)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121)
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
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:652)
**错误原因:**方法不能同时使用两个 @RequestBody 注解来接收参数。@RequestBody 注解用于将 HTTP 请求体绑定到方法的参数上,但请求体在 HTTP 请求中只能有一个,因此 Spring 无法知道如何将单个请求体拆分为两个独立的参数。
修改代码:
//定义单独类
@Data
public class ImportJlData {
private Object loginData;
private Object userData;
}
//请求接口修改
@ApiOperation("监理数据")
@PostMapping(path = "/path/name", produces = {"application/json;charset=UTF-8"})
public ApiResponseBody jlImportData(@RequestBody ImportJlData jlData) {
Map loginData = (Map) jlData.getLoginData();
Map userData = (Map)jlData.getUserData();
List loginList = (List) loginData.get("string1");
List userList = (List)userData.get("string2");
return ApiResponseBody.defaultSuccess();
}

被折叠的 条评论
为什么被折叠?



