在spring-boot 1.4.x中添加原因短语

时间:2016-10-14 04:30:42

标签: java spring tomcat spring-boot

如前所述herehere,最新版本的Spring Boot(1.4.x)由于Tomcat的新版本而未返回原因短语。

不幸的是,我受到一些我无法影响的遗留代码的限制,我需要在我的回复中添加“OK”原因短语。知道怎么做吗?如果是标题,则可以使用HttpServletResponseWrapper进行修改。但是使用状态行,我甚至找不到写入状态行的代码。

我真的不想(无限期地)降级到旧技术。希望有人知道如何将其添加回来。

2 个答案:

答案 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