在Spring Boot应用程序中,当发生500等异常时,REST API会返回与我的响应DTO不同的响应字段

in spring boot app a rest api returns a response fields different from my response dto when an exception like 500 occurs

提问人:sibari 提问时间:7/18/2023 最后编辑:sibari 更新时间:8/23/2023 访问量:52

问:

收到此响应,但时间戳和路径字段不在我的响应中。 实例中的终端节点在最初部署时工作正常并返回第二个响应,但一段时间后,第一个响应开始以意外方式返回,然后在重新启动后问题得到解决。为什么?dto or exceptionHandler

同样不涉及代码库或任何捆绑包。Internal Server Error

{
  "timestamp":"2023-07-18T11:30:06+03:00",
  "status":500,
  "error":"Internal Server Error",
  "message":"***",
  "path":"/rest/**/save"
} 

预期响应字段如下:

{
    "status": "FAIL",
    "message": "***",
    "errorCode": "**",
    "availableToRetry": false
}

响应从何而来?

调试了异常处理程序,但似乎正常。

spring-boot rest 响应 exceptionhandler uncaughtExceptionHandler

评论

0赞 vinod_vh 7/19/2023
看起来端点不正确。你能在这里发布 Rest API url 吗?
0赞 sibari 7/19/2023
这是正确的。/rest/alternativeRec/save。我在 API 方法中调试了请求,但它从我的响应 DTO 返回不同的字段。
0赞 vinod_vh 7/20/2023
调试时,Service and Controller 类中的响应是什么?
0赞 sibari 8/23/2023
它发生在某些 prod 实例中,因此我在本地环境中看不到此响应。在 prod 中,当预期第二个响应出现第一个响应时,我只需重新启动实例,第二个响应就会按预期开始出现。因此,实例中的终端节点在最初部署时可以正常工作,但一段时间后,第一个响应开始以意外的方式返回,然后在重新启动后问题得到解决。为什么?

答: 暂无答案