我正在使用Spring 5 / Spring boot 2.1 REST服务应用程序。当我们的应用程序引发异常时,客户端默认收到的响应就是这个漂亮的JSON字符串:
{
"timestamp": "2019-03-30T18:18:27Z",
"status": 500,
"error": "Internal Server Error",
"message": "No message available",
"path": "/api/test/"
}
我想知道Spring的哪一部分(或底层的Tomcat)负责创建此json消息,它何时发生?我已经检查了不同的HandlerExceptionResolvers(如here所述),但没有看到它(源代码为here)。
我还在应用程序中实现了一个Web筛选器,并且在读取响应主体时(使用ConcentCachedResponseWrapper来防止流的典型问题仅被decribed here读取一次),响应主体始终为空。
这让我觉得这个json是在异常处理程序处理完之后创建的,并在响应上设置的,并且在过滤器运行之后(或者至少是我自己的过滤器,我没有为其指定特殊顺序)