【发布时间】:2018-09-11 15:01:10
【问题描述】:
客户端在收到 HTTP 响应时期望“200”之后的“OK”为:
HTTP/1.1 200 正常
如果没有“OK”,客户端将无法正确解析 HTTP 响应。如何解决问题
我已经解决了
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return container -> {
if (container instanceof TomcatEmbeddedServletContainerFactory) {
TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory)container;
tomcat.addConnectorCustomizers((TomcatConnectorCustomizer)connector -> {
ProtocolHandler protocolHandler = connector.getProtocolHandler();
if (protocolHandler != null && protocolHandler instanceof AbstractHttp11Protocol) {
AbstractProtocol protocol = (AbstractProtocol)protocolHandler;
// fix tomcat 8.5 can't send reason phrase
protocol.setSendReasonPhrase(true);
}
});
}
};
}
【问题讨论】:
-
您可以从返回的响应中找到所需的子字符串。
-
不知道怎么办
-
使用更好的客户端?
-
不,我需要确定返回
-
我无法复制它。运行
curl -D - <your URL>并检查输出。我在 Spring Boot(版本1.4.2.RELEASE)应用程序中得到HTTP/1.1 200 OK。
标签: java http spring-mvc tomcat spring-boot