Симулируйте ответ сопоставления клиента, если конечная точка возвращает текст сообщения об исключении

#java #spring-boot #openfeign

Вопрос:

Я использую Притворный клиент для вызова конечной точки. Он работает без каких-либо проблем с успехом. Однако при сбое мне нужно сопоставить ответ с конкретным POJO, где я могу проверить некоторые условия. Я могу легко использовать определенный POJO при успешном вызове конечной точки, но когда он завершается неудачей и возвращает ошибку, возникает исключение FeignException, которое необходимо обрабатывать отдельно. Моя проблема в том, что тело ответа находится в байтовом формате, и если я попытаюсь поймать исключение, мне нужно будет декодировать ответ отдельно. Это сделает реализацию довольно многословной, поэтому мне было интересно, есть ли способ, которым мы могли бы также указать POJO ответа на любые сбои и притвориться, что могли бы сопоставить его аналогично тому, как это делается в случае успеха.

 @GetMapping("/{page-id}?fields=id,name,username")
  VerifyProfileModel verifyProfile(
      @PathVariable(value = "profile-id") String profiled);


// client call
try{
  client.verifyProfile(profileId);
} catch (FeignException ex){
  int statusCode = ex.status();
  byte [] response = ex.content()
  // condition on statusCode and response
}