У меня есть клиент Feign с методом, возвращающим класс feign.Response
. Когда другая служба выдает исключение, feign
помещает сообщение об исключении в тело ответа и присваивает статус, но моя служба не выдает исключение. Могу ли я выдать исключение на основе того, что я получил в ответ, например, когда я использую ResponseEntity
.
Симулированный клиент
@FeignClient(name = "ms-filestorage")
@RequestMapping(value = "/files", produces = "application/json")
public interface FileStorageApi {
@GetMapping(value = "/{id}")
Response getFileById(@PathVariable String id);
}
Использование клиента
@Override
public Response getFileFromStorage(String fileId) {
Response fileStorageResponse = fileStorageApi.getFileById(fileId);
// NOW I USE THIS WAY FOR CHECKING RESPONSE BUT IT DOESN'T LOOK GOOD
//if (fileStorageResponse.status() != HttpStatus.OK.value()) {
// throw new OsagoServiceException();
//}
return fileStorageResponse;
}