在Java中请求API接口通常涉及以下步骤:
导入库
需要导入处理HTTP请求的库,如`HttpURLConnection`或第三方库如`OkHttp`。
创建HTTP客户端
使用`URL`类创建一个URL对象,然后使用该URL对象创建一个`HttpURLConnection`实例。
构造HTTP请求
设置请求方法(如`GET`或`POST`)。
添加请求参数(如果需要的话)。
发送请求并接收响应
发送请求并读取响应内容。
处理响应
解析返回的字符串,通常需要使用JSON解析库(如`org.json`或`com.google.gson`)。
下面是一个使用`HttpURLConnection`发送GET请求的示例代码:

import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;public class ApiRequestExample {public static void main(String[] args) {try {// 创建URL对象URL url = new URL("https://api.example.com/data");// 打开连接HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 设置请求方法为GETconnection.setRequestMethod("GET");// 发送请求int responseCode = connection.getResponseCode();System.out.println("Response Code: " + responseCode);// 读取响应内容BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String inputLine;StringBuffer response = new StringBuffer();while ((inputLine = in.readLine()) != null) {response.append(inputLine);}// 关闭输入流in.close();// 输出响应内容System.out.println(response.toString());} catch (Exception e) {e.printStackTrace();}}}
如果需要发送POST请求,可以添加参数并设置请求头,例如:
// 添加请求参数Mapparams = new HashMap<>(); params.put("param1", "value1");params.put("param2", "value2");// 将参数转换为URL编码的字符串String encodedParams = params.entrySet().stream().map(entry -> entry.getKey() + "=" + URLEncoder.encode(entry.getValue(), "UTF-8")).collect(Collectors.joining("&"));// 构造完整的URLString urlWithParams = "https://api.example.com/data?" + encodedParams;// 打开连接HttpURLConnection connection = (HttpURLConnection) new URL(urlWithParams).openConnection();// 设置请求方法为POSTconnection.setRequestMethod("POST");// 设置Content-Type为application/x-www-form-urlencodedconnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");// 发送请求connection.setDoOutput(true);// 写入参数try (OutputStream os = connection.getOutputStream()) {byte[] input = encodedParams.getBytes("utf-8");os.write(input, 0, input.length);}// 读取响应内容// ...
请注意,实际使用时,您需要根据API文档来调整请求的URL、参数、请求头以及如何处理响应数据。
