idea报错信息:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public boolean com.reap.demo.controller.CRUDController.updateById(com.reap.demo.domain.User)]

idea报错信息:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public boolean com.reap.demo.controller.CRUDController.updateById(com.reap.demo.domain.User)]

idea报错信息如下:

"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always "-javaagent:D:\Java\TOOL\JetBrains\IntelliJ IDEA 2020.3.4\lib\idea_rt.jar=63142:D:\Java\TOOL\JetBrains\IntelliJ IDEA 2020.3.4\bin" -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;D:\Java\CODE\Reap\target\classes;D:\Java\MAVEN\rep\org\springframework\boot\spring-boot-starter\2.4.5\spring-boot-starter-2.4.5.jar;D:\Java\MAVEN\rep\org\springframework\boot\spring-boot\2.4.5\spring-boot-2.4.5.jar;D:\Java\MAVEN\rep\org\springframework\spring-context\5.3.6\spring-context-5.3.6.jar;D:\Java\MAVEN\rep\org\springframework\boot\spring-boot-autoconfigure\2.4.5\spring-boot-autoconfigure-2.4.5.jar;D:\Java\MAVEN\rep\org\springframework\boot\spring-boot-starter-logging\2.4.5\spring-boot-starter-logging-2.4.5.jar;D:\Java\MAVEN\rep\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\Java\MAVEN\rep\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\Java\MAVEN\rep\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;D:\Java\MAVEN\rep\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;D:\Java\MAVEN\rep\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;D:\Java\MAVEN\rep\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\Java\MAVEN\rep\org\springframework\spring-core\5.3.6\spring-core-5.3.6.jar;D:\Java\MAVEN\rep\org\springframework\spring-jcl\5.3.6\spring-jcl-5.3.6.jar;D:\Java\MAVEN\rep\org\yaml\snakeyaml\1.27\snakeyaml-1.27.jar;D:\Java\MAVEN\rep\net\bytebuddy\byte-buddy\1.10.22\byte-buddy-1.10.22.jar;D:\Java\MAVEN\rep\org\springframework\boot\spring-boot-starter-web\2.4.5\spring-boot-starter-web-2.4.5.jar;D:\Java\MAVEN\rep\org\springframework\boot\spring-boot-starter-json\2.4.5\spring-boot-starter-json-2.4.5.jar;D:\Java\MAVEN\rep\com\fasterxml\jackson\core\jackson-databind\2.11.4\jackson-databind-2.11.4.jar;D:\Java\MAVEN\rep\com\fasterxml\jackson\core\jackson-core\2.11.4\jackson-core-2.11.4.jar;D:\Java\MAVEN\rep\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.11.4\jackson-datatype-jdk8-2.11.4.jar;D:\Java\MAVEN\rep\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.11.4\jackson-datatype-jsr310-2.11.4.jar;D:\Java\MAVEN\rep\com\fasterxml\jackson\module\jackson-module-parameter-names\2.11.4\jackson-module-parameter-names-2.11.4.jar;D:\Java\MAVEN\rep\org\springframework\boot\spring-boot-starter-tomcat\2.4.5\spring-boot-starter-tomcat-2.4.5.jar;D:\Java\MAVEN\rep\org\apache\tomcat\embed\tomcat-embed-core\9.0.45\tomcat-embed-core-9.0.45.jar;D:\Java\MAVEN\rep\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;D:\Java\MAVEN\rep\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.45\tomcat-embed-websocket-9.0.45.jar;D:\Java\MAVEN\rep\org\springframework\spring-web\5.3.6\spring-web-5.3.6.jar;D:\Java\MAVEN\rep\org\springframework\spring-beans\5.3.6\spring-beans-5.3.6.jar;D:\Java\MAVEN\rep\org\springframework\spring-webmvc\5.3.6\spring-webmvc-5.3.6.jar;D:\Java\MAVEN\rep\org\springframework\spring-aop\5.3.6\spring-aop-5.3.6.jar;D:\Java\MAVEN\rep\org\springframework\spring-expression\5.3.6\spring-expression-5.3.6.jar;D:\Java\MAVEN\rep\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar;D:\Java\MAVEN\rep\org\projectlombok\lombok\1.18.20\lombok-1.18.20.jar;D:\Java\MAVEN\rep\org\mybatis\mybatis\3.5.0\mybatis-3.5.0.jar;D:\Java\MAVEN\rep\org\mybatis\spring\boot\mybatis-spring-boot-starter\1.2.0\mybatis-spring-boot-starter-1.2.0.jar;D:\Java\MAVEN\rep\org\springframework\boot\spring-boot-starter-jdbc\2.4.5\spring-boot-starter-jdbc-2.4.5.jar;D:\Java\MAVEN\rep\com\zaxxer\HikariCP\3.4.5\HikariCP-3.4.5.jar;D:\Java\MAVEN\rep\org\springframework\spring-jdbc\5.3.6\spring-jdbc-5.3.6.jar;D:\Java\MAVEN\rep\org\springframework\spring-tx\5.3.6\spring-tx-5.3.6.jar;D:\Java\MAVEN\rep\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\1.2.0\mybatis-spring-boot-autoconfigure-1.2.0.jar;D:\Java\MAVEN\rep\org\mybatis\mybatis-spring\1.3.1\mybatis-spring-1.3.1.jar;D:\Java\MAVEN\rep\io\springfox\springfox-swagger2\2.7.0\springfox-swagger2-2.7.0.jar;D:\Java\MAVEN\rep\io\swagger\swagger-annotations\1.5.13\swagger-annotations-1.5.13.jar;D:\Java\MAVEN\rep\io\swagger\swagger-models\1.5.13\swagger-models-1.5.13.jar;D:\Java\MAVEN\rep\com\fasterxml\jackson\core\jackson-annotations\2.11.4\jackson-annotations-2.11.4.jar;D:\Java\MAVEN\rep\io\springfox\springfox-spi\2.7.0\springfox-spi-2.7.0.jar;D:\Java\MAVEN\rep\io\springfox\springfox-core\2.7.0\springfox-core-2.7.0.jar;D:\Java\MAVEN\rep\io\springfox\springfox-schema\2.7.0\springfox-schema-2.7.0.jar;D:\Java\MAVEN\rep\io\springfox\springfox-swagger-common\2.7.0\springfox-swagger-common-2.7.0.jar;D:\Java\MAVEN\rep\io\springfox\springfox-spring-web\2.7.0\springfox-spring-web-2.7.0.jar;D:\Java\MAVEN\rep\org\reflections\reflections\0.9.11\reflections-0.9.11.jar;D:\Java\MAVEN\rep\org\javassist\javassist\3.21.0-GA\javassist-3.21.0-GA.jar;D:\Java\MAVEN\rep\com\google\guava\guava\18.0\guava-18.0.jar;D:\Java\MAVEN\rep\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\Java\MAVEN\rep\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;D:\Java\MAVEN\rep\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;D:\Java\MAVEN\rep\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;D:\Java\MAVEN\rep\org\mapstruct\mapstruct\1.1.0.Final\mapstruct-1.1.0.Final.jar;D:\Java\MAVEN\rep\io\springfox\springfox-swagger-ui\2.7.0\springfox-swagger-ui-2.7.0.jar;D:\Java\MAVEN\rep\com\alibaba\fastjson\1.2.29\fastjson-1.2.29.jar" com.reap.demo.DemoApplication

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.5)

2021-12-02 14:14:37.906  INFO 16556 --- [           main] com.reap.demo.DemoApplication            : Starting DemoApplication using Java 1.8.0_191 on DESKTOP-T0A53NA with PID 16556 (D:\Java\CODE\Reap\target\classes started by admin in D:\Java\CODE\Reap)
2021-12-02 14:14:37.910  INFO 16556 --- [           main] com.reap.demo.DemoApplication            : No active profile set, falling back to default profiles: default
2021-12-02 14:14:39.753  INFO 16556 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8888 (http)
2021-12-02 14:14:39.766  INFO 16556 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-12-02 14:14:39.766  INFO 16556 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.45]
2021-12-02 14:14:39.890  INFO 16556 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-12-02 14:14:39.890  INFO 16556 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1860 ms
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
Using VFS adapter org.mybatis.spring.boot.autoconfigure.SpringBootVFS
Scanned package: 'com.aosiding.crud.domain' for aliases
Parsed mapper file: 'file [D:\Java\CODE\Reap\target\classes\com\reap\demo\mapper\xml\CRUDMapper.xml]'
2021-12-02 14:14:40.649  INFO 16556 --- [           main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2021-12-02 14:14:40.724  INFO 16556 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-12-02 14:14:41.016  INFO 16556 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8888 (http) with context path ''
2021-12-02 14:14:41.018  INFO 16556 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2021-12-02 14:14:41.038  INFO 16556 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2021-12-02 14:14:41.071  INFO 16556 --- [           main] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references
2021-12-02 14:14:41.288  INFO 16556 --- [           main] com.reap.demo.DemoApplication            : Started DemoApplication in 4.122 seconds (JVM running for 5.551)
2021-12-02 14:15:41.343  INFO 16556 --- [nio-8888-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-12-02 14:15:41.344  INFO 16556 --- [nio-8888-exec-2] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-12-02 14:15:41.345  INFO 16556 --- [nio-8888-exec-2] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@686ae92b] was not registered for synchronization because synchronization is not active
2021-12-02 14:15:41.459  INFO 16556 --- [nio-8888-exec-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-12-02 14:15:41.676  INFO 16556 --- [nio-8888-exec-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
JDBC Connection [HikariProxyConnection@1042020962 wrapping com.mysql.jdbc.JDBC4Connection@4dda5c] will not be managed by Spring
==>  Preparing: INSERT INTO user(id,name,password,createTime) values ( ?,?,?, now()) 
==> Parameters: null, 666(String), 666666(String)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@686ae92b]
2021-12-02 14:17:01.682  WARN 16556 --- [nio-8888-exec-5] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public boolean com.reap.demo.controller.CRUDController.updateById(com.reap.demo.domain.User)]

代码如下:

package com.reap.demo.controller;

import com.reap.demo.domain.User;
import com.reap.demo.service.CRUDService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@RestController
public class CRUDController {

    @Autowired
    private CRUDService crudService;

    /**
     * 修改用户
     * @param user
     * @return
     */
    @PostMapping("U")
    public boolean updateById(@RequestBody User user){
        boolean flag = crudService.updateById(user);
        return flag;
    }
}

解决方案如下:

解析:在后台方法参数上添加@RequestBody时,将请求参数封装成User对象时,需要JSON(application/json)格式解决:在Postman中如下设置即可正常访问,便于调试。

在这里插入图片描述

总结:
注意使用英文标点符号

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐