以下のサンプルコードはhttps://openweathermap.org/の提供するAPIを使って名古屋市の情報を取得する非常にシンプルな例です。
10行目のところで都市名を指定しています。また、&APPID=***のところにIDを入れる必要があります。IDはご自身で上記サイトから入手してください。その際にはユーザー登録が必要になります。
import java.net.HttpURLConnection; // Javaの標準ライブラリであるjava.netパッケージからHttpURLConnectionクラスをインポートします。このクラスはHTTP通信を扱うために使用します。
import java.net.URL; // java.netパッケージからURLクラスをインポートします。このクラスはURLを扱うために使用します。
import java.util.Scanner;
public class Weather {
public static void main(String[] args) {
try {
URL url = new URL("https://api.openweathermap.org/data/2.5/weather?q=Nagoya,jp&APPID=***"); // OpenWeatherMap APIのURLを定義します。このURLは名古屋の天気情報を取得するリクエストを表しています。ここで"***"はあなたのOpenWeatherMap APIのキーに置き換えるべきです。
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // URLに基づいてHTTP接続を開きます。
conn.setRequestMethod("GET"); // このHTTP接続でGETリクエストを送信するよう設定します。
conn.connect(); // 実際にHTTP接続を開きます。
int responseCode = conn.getResponseCode(); // HTTPレスポンスコードを取得します。
if (responseCode != 200) { // レスポンスコードが200(成功)でない場合、例外を投げます。
throw new RuntimeException("HttpResponseCode: " + responseCode);
} else { // レスポンスコードが200の場合、天気情報の取得を続けます。
Scanner scanner = new Scanner(url.openStream()); // URLからのストリームを読み取るScannerを作成します。
System.out.println(scanner.nextLine()); // ストリームから次の行(APIからのレスポンス)を取得し、それをコンソールに出力します。
scanner.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}