Я работал над таким вариантом использования, используя следующую концепцию. Попробуйте создать общее исключение c для микро сервисов. Примите 2 параметра в исключении как сообщение об ошибке и еще один как код ошибки. Бросьте исключение из вызываемой службы и перехватите то же исключение в вызывающей службе в шаблоне отдыха или симулируйте вызов клиента.
public class MyException extends Exception {
private String errorCode;
public MyException() {
super();
}
public MyException(String message, String errorCode) {
super(message);
this.errorCode = errorCode;
}
}
-
try {
return myApiService.getUser();//call to myApiService microservice
} catch (MyException e) {
logger.error("Error: {}", e.getMessage());
throw new MyException(e.getMessage(), e.getCode());
}