rest - Spring REST异常-获取响应有效负载

标签 rest spring-boot error-handling

我有以下内容:
enter image description here

在 Spring ,“400错误的请求”将转换为ResourceAccessException。

这里有什么方法可以检索有效载荷吗?我想将“errorMessage”进一步发送到调用链。

以下代码用于执行请求:

    public <T> T post(String url, Object request, Class<T> className) {
    try {
        return logEnhancedRestTemplate.postForObject(url, request, className);
    } catch(RestClientException ex) {
        throw handleErrors(ex, url);
    }
}

它是在“handleErrors”方法中,我想使用正文中的“errorMessage”。

最佳答案

如果要检索异常消息,请使用getMessage()方法。

在您的特定示例中,如果捕获通用异常可能会更好,因为我认为每种类型的Runtime异常都应调用方法handleErrors(ex, url)

如果是这种情况,建议您使用以下方法修改代码:

public <T> T post(String url, Object request, Class<T> className) {
  try {
      return logEnhancedRestTemplate.postForObject(url, request, className);
  } catch(Exception ex) {
      throw handleErrors(ex, url);
  }
}

关于rest - Spring REST异常-获取响应有效负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49895698/

相关文章:

javascript - 创建自定义休息客户端

java - Spring Boot @GetMapping 到以 .jsp 结尾的 URL

java - 集群配置中的共享内存java

javascript - Mongodb 与 Monk : error catching and handling if db is down

error-handling - 终端错误 : no such file or directory:/dev/fd/12export - thread 'main' panicked at 'failed printing to stdout: Broken pipe (os error 32)

c# - WCF 动态响应格式

ios - 在 Alamofire 中使用 get 请求时,如何快速修复无效的 JSON 响应?

java - 如何解决 REST 服务 : Unrecognized field "input" 引发的未捕获异常

spring-boot - Zipkin 无法在 Docker 中工作 - 连接被拒绝

javascript - 为什么 document.getElementById ('foo' ).value 不是引用?