即使发生异常(由于错误的请求),仍可以从requestForObject方法中获取响应对象。

6 浏览
0 Comments

即使发生异常(由于错误的请求),仍可以从requestForObject方法中获取响应对象。

我使用spring boot编写了一些使用REST的消费者代码,它对我很有效。但是,在出现"Bad request"的情况下,我希望能够获取响应的主体内容。目前它会抛出一个异常,但是我想读取错误消息。

更具体地说:

Web服务总是返回JSON,类似于:

{
  errorCode : 12,
  errorMessage: "无法找到元素"
}

或者

{
   errorCode : 0,
   errorMessage: ""
}

我在我的代码中有相应的模型:

class Response {
  int errorCode;
  String errorMessage;
}    
Request req = new Request();
Response response = restTemplate.postForObject(SOME_ENDPOINT, request, Response.class);

然而,在"BadRequest"的情况下,我无法获取错误消息(因此无法获取响应对象),因为它会抛出异常"RestClientException"。如何抑制此异常并获取响应?

0