在 Java 中,调用 API 接口通常涉及向特定的 URL 发送 HTTP 请求,然后解析返回的 JSON 或 XML 数据。
要实现这个目标,您可以使用 Java 标准库中的 HttpURLConnection
类或第三方库,如 Apache HttpClient 或 OkHttp。
这里我们将使用 HttpURLConnection
类演示如何调用一个简单的 API 接口。
以下示例展示了如何使用 HttpURLConnection
发送 GET 请求以及处理 JSON 响应。
假设我们需要调用一个简单的天气 API,URL 为 https://api.example.com/weather?city=beijing
:
1、首先,导入必要的库
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonReader;
2、创建一个方法,用于发送 GET 请求并获取 API 响应
public static JsonObject getWeatherData(String city) throws IOException {
String apiURL = "https://api.example.com/weather?city=" + city;
URL url = new URL(apiURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/json");
int responseCode = connection.getResponseCode();
if (responseCode != HttpURLConnection.HTTP_OK) {
throw new IOException("Failed to get data from API. HTTP Code: " + responseCode);
}
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
JsonReader jsonReader = Json.createReader(reader)) {
JsonObject responseObject = jsonReader.readObject();
return responseObject;
} finally {
connection.disconnect();
}
}
3、调用该方法并处理返回的 JSON 数据
public static void main(String[] args) {
try {
JsonObject weatherData = getWeatherData("beijing");
System.out.println("Weather data: " + weatherData.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
注意:示例代码中的 URL 仅作为示例,请替换为实际的 API URL。
同时,处理 JSON 数据的部分使用了 javax.json
库,请确保将相关库添加到项目的依赖中。
在实际应用中,您可能需要根据 API 文档解析 JSON 数据以提取所需信息。