Код: Выделить всё
@GetMapping
String getString()
Код: Выделить всё
@GetMapping
RestCallResult getString()
- когда ответ равен 2xx, статус и ответ представлены в виде полей
Код: Выделить всё
OkRestCallResult
- при ответе на что-то другое, имея поля статуса и ответа
Код: Выделить всё
ErrorRestCallResult
- когда есть исключение (например, IOException), имеющее исключение в качестве поля
Код: Выделить всё
ExceptionRestCallResult
Код: Выделить всё
@Bean
public Decoder feignDecoder(ObjectMapper objectMapper) {
return (response, type) -> {
HttpStatusCode httpStatusCode = HttpStatusCode.valueOf(response.status());
if (httpStatusCode.isError()) {
return new ErrorRestCallResult(httpStatusCode, objectMapper.readValue(response.body().asInputStream(), String.class));
}
return new OkRestCallResult(httpStatusCode, objectMapper.readValue(response.body().asInputStream(), objectMapper.constructType(type)));
};
}
Есть идеи, как обернуть ответ для всех трех случаев?
Подробнее здесь: https://stackoverflow.com/questions/786 ... n-response