Gebruik van RestTemplate en Foutafhandeling Code Design

Ik heb een serviceklasse die kan worden ingeschakeld en kan worden gebruikt om rustpauzes uit te voeren. Mijn klas is als volgt:

@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!");
    }
}

Als ik een andere typevariabele retourneer van het get -verzoek, heb ik die fout:

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

Ik retourneer een ander type antwoord dat een doelveld heeft.

Als ik IO-uitzondering vang, kan het het niet vangen. Wanneer ik het debug het die uitzondering gooide onder:

org.springframework.web.client.ResourceAccessException

en oorzaak is:

org.codehaus.jackson.map.exc.UnrecognizedPropertyException

Hoe kan ik die uitzondering vangen met 'gedetailleerd'. Ik bedoel, als we het als een i/o-fout kunnen classificeren, wil ik het vangen als dat of als een uitzondering voor de brontoegang of niet-herkende eigenschapuitzondering, enz.

Om het even welke ideeën?

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

Geen antwoorden

0