1.背景
开发项目时需要和其他平台对接,其他平台需要解析报文,按照他们的规则需返回
HTTP/1.1 200 OK而非HTTP/1.1 200。经协商需我们的项目做出整改。
2.调查
目前我们的项目使用的是springboot2.1.5,而springboot内置tomcat9,而tomcat8.5之后返回头就去掉HttpStatus的reansonPhrase。所以思路就是将项目降版本到tomcat8.0,但是会报错:
Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
所以springboot2.1.5最低支持tomcat8.5。
3.解决
最后解决方案是 springboot2.1.5 + tomcat8.5 +TomcatConfig。
(Tips: springboot2.1.5 + tomcat8.0 +TomcatConfig也是可行的,之前的报错不报了;springboot2.1.5 + tomcat9.0 +TomcatConfig 不可行,虽然项目启动没有问题,但是返回的结果还是HTTP/1.1 200,有可能是TomcatConfig与tomcat9.0的配置不兼容。)
4.解决详情
(1)修改pom.xml
<properties>
<java.version>1.8</java.version>
<tomcat.version>8.5.50</tomcat.versio