gpt4 book ai didi

Java 7 : Generic method to convert GET response to Generic Object

转载 作者:行者123 更新时间:2023-12-01 19:43:20 25 4
gpt4 key购买 nike

我有一个自定义通用方法,它向 URL 发出 GET 请求,并将 JSON 响应转换为 responseType 对象:

public static <T> Object getForEntity(String url, Class<T> responseType) throws InterruptedException, ExecutionException, IOException{
Response getResponse = callWithHttpGet(url);
String getResponseJson = getResponse.getBody();
ObjectMapper getResponseJsonMapper = new ObjectMapper();
Object obj = getResponseJsonMapper.readValue(getResponseJson, responseType);
return obj;
}

如果我按如下方式调用上面的代码,则可以正常工作:

Object person = getForEntity(PERSON_REST_URL,Person.class);

如何使其按如下方式工作而不是返回对象?

Person person = getForEntity(PERSON_REST_URL, Person.class);

最佳答案

首先,让方法返回 T而不是Object :

public static <T> T getForEntity(...)

然后,实现它以返回 T。 readValue返回正确的类,因为您传入 Class<T>其签名也相当于public <T> T readValue(..., Class<T> clazz) ,所以你可以这样做:

T obj = getResponseJsonMapper.readValue(getResponseJson, responseType);        
return obj;

关于Java 7 : Generic method to convert GET response to Generic Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54558419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com