当前位置: 首页 > 知识库问答 >
问题:

spring boot用来自服务器响应的数据编辑json异常

沈国安
2023-03-14

我的spring boot应用程序就像一个中间人。它等待一个请求,然后格式化该请求并将其发送给服务器,并将服务器响应返回给请求发送方。然而,当我从服务器获得响应错误响应(例如,状态代码为400,错误请求)时,我想通过添加从服务器以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 boot返回异常:

{
  "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自动抛出默认异常。

共有1个答案

彭宏义
2023-03-14

我的理解是,您需要提供自己的异常映射器。现在使用的是AutoConfiguration添加的默认errorcontroller

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

您可以在这里了解自定义Exceptionmappers

 类似资料:
  • 问题内容: 是否可以在PHP中处理来自AJAX请求的响应?我不是一个真正的JS开发人员,所以我正在用这个开发人员。 我有点黑了: }); 该功能似乎可以正常运行,它会向我发出有关正确数据的警报。 我需要能够将此输出给用户,以便可读。我发现很多指南都描述了替换数据,但就目前而言,直到选择child_id之前,没有数据。.然后我希望它以可读的方式显示上述数据。 我不知道如何开始使用视图文件(php)中

  • 我需要一种在java中记录这个XML响应的方法。当我从我的java发送请求时,这是返回的。我需要一种打印出响应描述的方法。 下面是我的java代码:

  • 我有一个反向代理设置与nginx。 如何将从后端服务器发送到nginx的http请求(包括头)记录到文件中? 也许nginx http代理模块中的某个指令可以帮助我做到这一点。 但我找不到任何有用的指示。

  • 控制台中的结果如下: 我不明白为什么会发生这种情况。

  • 我想知道如何缓存来自Web服务器(返回json数据)的okHTTP响应? 你知道如果应用程序只需要在第一次运行时下载数据--然后只有在数据发生变化时才下载数据该怎么办吗?

  • 我的任务是简单地制作一个控制器,当它们准备好时立即给我结果(下面的简单示例) 我想得到字符串的确切数量(例如1000个字符串,以某种方式为1秒)(实际上我需要得到func的结果,但为了简化任务,只是字符串) 因此,当我在控制器中收到一些请求时,我希望它能以这种方式在它们准备好后尽快给出答案(无需缓冲结果): 1秒钟 “一些绳子”- 1秒钟 “另一个”- 1秒钟 “第三个”- 1000秒 “一些绳子