Как бросить исключение на основе feign.Response? - PullRequest
0 голосов
/ 02 июля 2019

У меня есть клиент 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;
}
...