JavaからRESTful APIを呼び出す方法は何ですか。
RESTful APIを呼び出す方法としてJavaでは次のようなものがあります。
- Javaに内蔵されているURLConnectionクラスを使用する。これによって、URLオブジェクトの作成、接続のオープン、リクエストメソッド(GET、POST、PUT、DELETEなど)、リクエストヘッダーの設定、リクエストの送信、レスポンスデータの取得が可能となります。
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();
// 处理响应数据
}
- ApacheのHttpClientライブラリを使用しています。HttpClientはサードパーティのライブラリで、HTTPリクエストの送信とレスポンスの処理のための簡潔なAPIを提供します。
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);
}
- SpringのRestTemplateを使うと、HTTPリクエストとレスポンスの処理をカプセル化できるので、HTTPクライアントを簡単に扱えます。
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<>("", headers);
ResponseEntity<String> response = restTemplate.exchange("http://example.com/api/resource", HttpMethod.GET, entity, String.class);
if (response.getStatusCode() == HttpStatus.OK) {
String responseBody = response.getBody();
// 处理响应数据
}
リクエストメソッド、リクエストヘッダー、リクエストパラメータなどを必要に応じて設定し、リクエストを送信してレスポンスデータを取得する方法がいくつかあります。どの方法を使用するかは、個人の好みとプロジェクトの要件によって決まります。