RestTemplateとエラー処理コードの使用

私はautowiredで休憩をとることができるサービスクラスを持っています。私のクラスは以下の通りです:

@Service
public class BridgeImpl implements Bridge {

    private static Logger _logger = LoggerFactory.getLogger(BridgeImpl.class);

    private final String BASE_URL = "http://localhost:8080/a/x";

    @Autowired
    RestTemplate restTemplate;

    public void addX() {
        try {
            Wrapper data = restTemplate.getForObject(BASE_URL, Wrapper.class, warrant);
            Y y = data.getData();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        System.out.println("Here!");
    }
}

get リクエストから別の型変数を返すと、私はそのエラーが発生します:

I/O error: Unrecognized field "target" (Class com.a.b.c.d.Wrapper), not marked as ignorable

ターゲットフィールドを持つ別のタイプの応答を返します。

私がIO例外を捕まえれば、それを捕まえることはできません。私がそれをデバッグすると、例外がスローされます:

org.springframework.web.client.ResourceAccessException

原因は次のとおりです。

org.codehaus.jackson.map.exc.UnrecognizedPropertyException

その例外を「詳細」でどのように捕捉できますか?私はそれをI/Oエラーとして分類できるかどうか、それをリソースアクセス例外または認識されないプロパティ例外などとして捕捉したいと考えています。

何か案は?

PS: You are welcome to giving advices to design my code (ie. using RestOperations restTemplate instead of RestTemplate restTemplate and describing the difference and any other advices about my code.)

1

答えはありません

0