【发布时间】:2018-04-24 17:26:58
【问题描述】:
我有一个 Spring Boot Jersey 应用程序,我已经将它从 Spring Boot 1.5.4(平台:Brussels-SR3)升级到 Boot 2.0.1(平台:Cairo-RELEASE),它带来了来自 2.25.1 的 Jersey 版本到2.26。
在升级之前,当应用程序抛出未处理的错误时,应用程序会返回如下响应:
{
"timestamp": 1524060527236, "status": 500, "error": "Internal Server Error",
"exception": "java.lang.IllegalStateException", "message": "<example message>",
"path": "/ws/api/example/endpoint"
}
升级后同样的执行返回:
{
"timestamp": "2018-04-24T17:00:06.151+0000", "status": 500, "error": "Internal Server Error",
"message": "<example message>", "path": "/ws/api/example/endpoint"
}
我可以处理不同的时间戳格式,但是丢失异常类是个问题。
我尝试调试 jersey 的异常映射,但我对代码库并不熟悉,而且看起来相当复杂。我找不到映射发生在哪里。我在文档或发行说明中也找不到有关更改异常映射的任何提及。
基于上面和下面的 cmets,我想变化是在 Spring 方面。
那么,发生了什么变化以及如何恢复旧的行为?
【问题讨论】:
-
这是来自 Spring 方面而不是 Jersey。泽西岛不输出该响应正文。与 Jersey 异常映射无关。
-
@PaulSamsotha 谢谢,我已经更新了问题。
标签: java spring spring-boot exception-handling jersey