gpt4 book ai didi

java - Spring Boot使用服务器响应中的数据编辑json异常

转载 作者:行者123 更新时间:2023-11-30 06:46:19 25 4
gpt4 key购买 nike

我的 Spring Boot 应用程序就像中间人一样工作。它等待请求,然后格式化该请求并发送到服务器,并将服务器响应返回给请求发送者。但是,当我从服务器收到响应错误响应(例如状态代码 400 Bad Request)时,我想通过添加从服务器以 JSON 格式返回的错误原因来修改默认的 Spring Boot JSON 异常正文。

服务器响应:

Http status: 400
{
"type": "InvoiceDto",
"currency": "EUR",
"error_code": "NO_AMOUNT"
"error_message": "amount is not set"
"invoice_status": "FAILED",
"payment_id": "20516324",
"order_id": 1209,
}

Spring 启动返回异常:

{
"timestamp": 1493211638359,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.web.client.HttpClientErrorException",
"message": "400 Bad Request",
"path": "/sms"
}

我想用服务器返回的“error_message”值编辑spring的异常字段“message”。但似乎我什至无法获取响应主体,因为 Spring Boot 自动抛出默认异常。

最佳答案

我的理解是您需要提供自己的异常映射器。现在使用的是自动配置添加的默认ErrorController

正确的方法是定义自己的ResponseEntityExceptionHandler

您可以阅读有关自定义异常映射器的信息 here

关于java - Spring Boot使用服务器响应中的数据编辑json异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43635137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com