【发布时间】:2020-05-11 08:40:00
【问题描述】:
我有一个正在调用另一个服务 B 的微服务 A。我正在尝试使用 @ExceptionHandler 处理错误消息。
我想将从 B 收到的错误消息传播到服务 A。 但在其余的调用响应中,它给出了 HttpStatus 代码但没有正文(null)。下面是截图:
postman 中服务 B 的响应如下所示。我想在我的服务 A 中获得相同的错误响应消息。
以下是我的代码:
RestServiceCall.java
public List<AccessResponse> daxObjectAccessibilitycall(AccessDataObject requestEntity) {
ResponseEntity<AccessResponse[]> responseEntity = restTemplate.postForEntity(getFullPathService(), requestEntity, AccessResponse[].class);
if (responseEntity == null) {
return Collections.emptyList();
}
AccessResponse[] accessResponse = responseEntity.getBody();
return Arrays.asList(accessResponse);
}
在错误处理期间,它会抛出一个异常,在此代码中处理:
public boolean myFoo(MyDto){
.
.
.
try {
myObjectAccessibilitycall = serviceCall.objectAccessibilitycall(accessDataObj);
} catch (RestClientException e) {
logger.error("Error while getting response from Accessibility", e);
throw new myException("Error: ", e);
}
if (!CollectionUtils.isEmpty(myObjectAccessibilitycall )) {
for (AccessResponse accessResponse : myObjectAccessibilitycall ) {
accessFlag = accessResponse.isResponseMsg();
}
}
return accessFlag;
}
感谢您对此的任何帮助。 干杯!
【问题讨论】:
标签: rest spring-boot exception