This 解决方案对我没用,因此这不是重复,这是一个不同的问题..我在问另一个问题,因为它可能会呈现不同的解决方案而不是链接的帖子。
我正在尝试创建一个使用Spring的RestTemplate
的通用方法,但是这个类型被忽略了,我的Object
构造不正确。
public <T> ResponseEntity<T> restGetRequest(String url, String ... params) {
ParameterizedTypeReference<T> type = new ParameterizedTypeReference<T>() {};
RestTemplate template = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<>(headers);
return template.exchange(url, HttpMethod.GET, entity, type, params);
}
我正在尝试将此方法用于我可能在我的应用程序中使用的任何GetRequest
,使代码更小。
尝试检索对象时,它的类型不是预期的类型,而是正常JSON
(只是String
)。
检索:
String url;
ResponseEntity<MyType> apiResponse = restGetRequest(url);
apiResponse
不是我预期的类型MyType
。这样,我的映射没有正确完成。
有没有办法在Java中执行此操作,不用创建新类,也不将类作为参数传递,也不扩展任何类? 只使用通用类型?