我使用Jersey(2.23.2)构建我的服务,该服务将打包成war文件,然后部署到Tomcat上。但在部署期间,我发现下面的代码表现不同。
response.getStatusInfo().equals(Status.OK)
回复:javax.ws.rs.core.Response
的对象
Status.OK:javax.ws.rs.core.Response.Status.OK
在使用tomcat 8的机器上,它返回true,但在具有tomcat 8.5的机器上,它返回false。
我研究了一段时间后发现getStatusInfo
返回StatusType
这是一个接口而Status
实际实现了它。我认为这是由于实施差异而发生的,但无法进一步发展。所以我不太确定tomcat的版本是关键因素。
有人能告诉我究竟是什么导致了这种差异吗? 感谢
BTW:我将代码切换到response.getStatusInfo().getStatusCode() == Status.OK.getStatusCode()
以强制它执行一致。