在我宁静的 Web 服务中,如果出现错误请求 (5xx) 或 4xx 响应代码,我会在响应中写入自定义标头“x-app-err-id”。
在客户端,我使用 RestTemplate 的交换方法进行 RestFul Web 服务调用。响应码为 2xx 时一切正常。
ResponseEntity<Component> response = restTemplate.exchange(webSvcURL,
HttpMethod.POST,
requestEntity,
Component.class);
但是如果有一个异常(HttpStatusCodeException),因为它是一个错误的请求(5xx)或 4xx,在 HttpStatusCodeException 的 catch 块中,我得到的响应(见上文)为空,所以我无法访问我的自定义标头我在我的网络服务中设置。如果 RestTemplate 出现异常,如何从响应中获取自定义标头。
还有一个问题是,我在响应正文中设置了一个错误对象(json)以防出现错误,我想知道如何访问响应正文以防 RestTemplate 出现异常