我需要使用GET方法调用Rest Web服务,服务器将发送2种响应。处理请求时没有业务错误,它将发送类型为T的对象。如果发生业务异常,它将发送一个类型为E的对象。
如何使用restTemplate.getForEntity(url,responseType)方法调用此Web服务,并动态接收T类型或E类型的响应。因为你可以看到该方法只接受一种类型。
答案 0 :(得分:0)
如果发生异常,REST Web服务将发送错误响应,即代码不是200,而是4 **或5 **?如果是,RestTemplate
将使用DefaultResponseErrorHandler
并使用方法HttpStatusCodeException
抛出getResponseBodyAsString()
的实例。然后,您可以使用某些转换器将字符串转换为Java对象。