Java调用RESTful接口的方法有多种,以下是其中几种常用的方法:
1. 使用Java内置的URLConnection类:可以通过创建URL对象,打开连接,设置请求方法(GET、POST、PUT、DELETE等),设置请求头,发送请求并获取响应数据。
```java
URL url = new URL("http://example.com/api/resource");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "application/json");
// 设置其他请求头
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream inputStream = connection.getInputStream();
// 处理响应数据
}
```
2. 使用Apache HttpClient库:HttpClient是一个第三方的库,提供了更简洁的API来发送HTTP请求和处理响应。
```java
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://example.com/api/resource");
httpGet.setHeader("Content-Type", "application/json");
// 设置其他请求头
CloseableHttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = response.getEntity();
InputStream inputStream = entity.getContent();
// 处理响应数据
EntityUtils.consume(entity);
}
```
3. 使用Spring的RestTemplate:RestTemplate是Spring提供的一个HTTP客户端,封装了HTTP请求和响应的处理,使用起来更加简单方便。
```java
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity
ResponseEntity
if (response.getStatusCode() == HttpStatus.OK) {
String responseBody = response.getBody();
// 处理响应数据
}
```
这些方法都可以根据需要设置请求方法、请求头、请求参数等,发送请求并获取响应数据。具体使用哪种方法取决于个人的偏好和项目的需求。