如前所述here和here,最新版本的Spring Boot(1.4.x)由于Tomcat的新版本而未返回原因短语。
不幸的是,我受到一些我无法影响的遗留代码的限制,我需要在我的回复中添加“OK”原因短语。知道怎么做吗?如果是标题,则可以使用HttpServletResponseWrapper
进行修改。但是使用状态行,我甚至找不到写入状态行的代码。
我真的不想(无限期地)降级到旧技术。希望有人知道如何将其添加回来。
答案 0 :(得分:3)
将以下属性添加到Connection
中的conf\server.xml
:
sendReasonPhrase="true"
在Tomcat 8.5.x中,默认情况下不再发送原因短语。
答案 1 :(得分:2)
要将原因短语添加回spring-boot的嵌入式tomcat,只需在app config中声明以下bean:
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.addConnectorCustomizers(
(TomcatConnectorCustomizer) connector -> connector.setProperty("sendReasonPhrase", "true"));
return factory;
}
自Spring-Boot 1.5.3.RELEASE起作用,直到嵌入式tomcat将更新为9.x版本https://bz.apache.org/bugzilla/show_bug.cgi?id=61160