Spring Boot接口调用始终返回200无响应体问题排查求助
SSL配置异常导致Web服务器请求链未初始化
添加证书后,若application.properties/application.yml中的SSL配置(如server.ssl.key-store、server.ssl.key-store-password、server.ssl.key-alias)存在路径错误、密码不匹配或别名错误,Tomcat可能仅完成端口监听,但未正确加载Spring的DispatcherServlet请求处理链。此时请求进入端口后无实际处理逻辑,直接返回空200响应。
排查:检查SSL配置项是否与证书信息完全匹配,可临时注释SSL相关配置,重启应用测试是否恢复正常。自定义Filter/Interceptor静默吞掉请求
若项目中有自定义过滤器或拦截器,添加证书后可能触发其内部逻辑异常(如SSL上下文获取失败),但异常被捕获后未向上抛出,导致请求无法传递到Controller层,断点自然不会触发。
排查:临时移除所有自定义Filter/Interceptor的注册代码,重启应用测试请求是否能正常到达Controller。Spring Boot Web自动配置失效
证书操作可能意外修改了项目依赖或配置文件,导致WebMvcAutoConfiguration等核心自动配置类未生效,DispatcherServlet未被正确注册到Tomcat中,请求无法被Spring框架处理。
排查:检查pom.xml/build.gradle中Spring Boot Web依赖是否存在,配置文件中是否有spring.autoconfigure.exclude属性禁用了Web相关自动配置。JVM信任库异常导致SSL上下文加载失败
若修改了JDK默认的cacerts信任库,可能导致JVM在初始化SSL上下文时出现隐性错误,Tomcat虽能启动并监听端口,但无法正常处理请求(即使调用HTTP接口,若配置了HTTPS强制跳转,跳转逻辑也可能失效)。
排查:恢复JDK默认的cacerts文件(可从其他正常环境复制),或使用项目独立的密钥库而非修改全局信任库,重启应用测试。启动日志存在未注意的异常
控制台可能仅显示启动成功的信息,但Tomcat初始化ServletContext时存在WARN或ERROR日志被忽略,这些异常会导致请求处理链无法正常建立。
排查:查看完整的启动日志(包括Tomcat相关的日志输出),搜索ERROR、WARN关键词,定位是否有初始化异常。项目编译缓存问题
即使重装了IntelliJ,项目的target目录或IDE本地缓存可能残留旧的编译文件,导致应用运行的代码与实际代码不一致。
排查:手动删除target目录,执行mvn clean install(Maven项目)或gradle clean build(Gradle项目),清空IDE缓存后重新构建运行。
内容的提问来源于stack exchange,提问作者SNap97

