在Java中调用REST接口通常有以下几种方式:
1. 使用`HttpURLConnection`
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;public class RestClient {public static void main(String[] args) {try {URL url = new URL("http://example.com/api/resource");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setRequestProperty("Content-Type", "application/json");BufferedReader in = new BufferedReader(new InputStreamReader(conn.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();}}}
2. 使用`HttpClient`(推荐使用Java 11及以上版本中的`HttpClient`)
import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;public class RestClient {public static void main(String[] args) {try {HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder().uri(URI.create("http://example.com/api/resource")).header("Content-Type", "application/json").GET().build();HttpResponseresponse = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());} catch (Exception e) {e.printStackTrace();}}}
3. 使用Spring的`RestTemplate`
import org.springframework.web.client.RestTemplate;public class RestClient {public static void main(String[] args) {RestTemplate restTemplate = new RestTemplate();String url = "http://example.com/api/resource";String result = restTemplate.getForObject(url, String.class);System.out.println(result);}}

