我要的response不是String,而是真正的api返回的response
时间: 2024-04-18 07:33:29 浏览: 73
基于CORS实现WebApi Ajax 跨域请求解决方法
如果你想获取真正的 API 响应而不是将其作为字符串返回,可以使用 `HttpURLConnection` 的 `getInputStream` 方法获取输入流,并从输入流中读取响应。
以下是修改后的代码示例:
```java
URL url = new URL("https://api.example.com/endpoint");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// 获取输入流
InputStream inputStream = connection.getInputStream();
// 使用合适的方式处理响应
// 例如,如果 API 返回 JSON 数据,可以使用 JSON 解析库来解析响应
// 这里以使用 Jackson JSON 解析库为例
ObjectMapper objectMapper = new ObjectMapper();
YourResponseObject response = objectMapper.readValue(inputStream, YourResponseObject.class);
// 处理响应数据
System.out.println(response.toString());
} else {
// 请求失败,根据需要处理错误
System.out.println("请求失败,错误码:" + responseCode);
}
connection.disconnect();
```
上述代码使用 `getInputStream` 方法获取 API 响应的输入流,并使用适当的方式处理响应数据。你需要根据实际情况选择合适的方式解析响应数据,比如使用 JSON 解析库来解析 JSON 格式的响应数据。
阅读全文