Livedoorのお天気Webサービス(REST)をJavaアプリケーションから利用する場合、以下のようなコードになる*1 *2 *3。
import java.net.HttpURLConnection; import java.net.URL; import java.util.logging.Level; import java.util.logging.Logger; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; public class Main { public static void main(String[] args) { String urlstr = "http://weather.livedoor.com/forecast/webservice/rest/v1"; String parameter = "city=70&day=tomorrow"; try { URL url = new URL(urlstr + "?" + parameter); HttpURLConnection urlconn = (HttpURLConnection)url.openConnection(); urlconn.setRequestMethod("GET"); urlconn.connect(); Document doc = DocumentBuilderFactory.newInstance() .newDocumentBuilder() .parse(urlconn.getInputStream()); Element root = doc.getDocumentElement(); System.out.println(root.getElementsByTagName("title") .item(0).getFirstChild().getNodeValue()); System.out.println(root.getElementsByTagName("telop") .item(0).getFirstChild().getNodeValue()); } catch (Exception ex) { Logger.getLogger(Main.class.getName()) .log(Level.SEVERE, null, ex); } } }
【備考】
サーバーサイドのJava用のRESTフレームワークとしては、Restlet | API-First Success Made Easyというのがある模様。