生成一个参数是泛型,返回值也是泛型的http请求工具类
时间: 2023-08-03 10:14:39 浏览: 145
好的,以下是一个简单的Java代码示例,实现了一个泛型的Http请求工具类:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUtil<T> {
public T sendGetRequest(String url, Class<T> responseType) {
T response = null;
try {
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
StringBuilder responseBuilder = new StringBuilder();
String line;
while ((line = in.readLine()) != null) {
responseBuilder.append(line);
}
in.close();
response = responseType.cast(responseBuilder.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
}
```
这个工具类中有一个 `sendGetRequest` 方法,用于发送 GET 请求。它接收两个参数,第一个是请求的URL,第二个是响应类型。在这个方法中,我们使用了 Java 的反射机制,将响应结果转换成了指定的泛型类型。
这个工具类可以用于发送各种类型的 GET 请求,并且可以将响应结果转换成指定的泛型类型。如果需要发送 POST 请求,可以类似地实现一个 `sendPostRequest` 方法即可。
阅读全文