RESAS-APIのクライアントをJavaでつくってみました
RESAS APIのクライアントをJavaで書いてみました
RESAS APIでいろいろデータを公開してもらっていますが、
なかなかデータをとるのは一苦労です。
そして一度作ったらみんなでシェアしたほうが便利だとおもったので
作ってみました。
そしてgithubに公開したのですが、いまいち検索に引っかからないので、
記事にしてみました。
※ 注意:RESASのみで、法人インフォはまだ対応していません。
RESAS-Client Java
githubにあげていますので、こちらからgit cloneするか zipでダウンロードして利用してください。
RESASのAPI一覧へのリンク
https://opendata.resas-portal.go.jp/docs/api/v1/index.html
https://opendata.resas-portal.go.jp/docs/api/v1/detail/index.html
簡単な使い方の説明 内水面漁船隻数を例に
各クラスにRequestとResultと、テスト用のクラスがあります。
テスト用のクラスで、手で僕がテストしてとれるのをみたぐらいになっています。
サンプル的にどうぞ
(一部のテストクラスはまとまっちゃっていますが、ご了承ください スマヌ(-人-;))
RESAS APIの送受信をURLをベースにクラス名と変数を作成しています。
URLに沿った名前とそれにRequest/Result/RequetTestみたいな感じのクラスになっています。
内水面漁船隻数のAPIからデータを取得したいとするとURLが以下のようになります。
- api/v1/fishery/riverBoat/forStacked
クラス名をURLに合わせてつくっているので、クラスはFisheryRiverBoatForStacked***というなまえになっています。
***の部分は、送信用のパラメータを持つクラスはRequest、受信用のパラメータを持つクラスはResultとなっています。
- HTTPのリクエストのパラメータをもつクラス FisheryRiverBoatForStackedRequest
- 受け取るクラス FisheryRiverBoatForStackedResult
- テストでつかった送信クラス FisheryRiverBoatForStackedRequestTest
送信とAPIのキー
送信するには、以下のクラスを使います。
ResasHttpAccess httpのリクエストをするクラス
sendStringにRequestのurlとパラメータを渡します。
このクラスのなかにAPIのキーをかくところがありまが、実行時にjavaの引数に-DXPIKEY=******という形で渡します。ResasUtil パラメータをセットするクラス
Requestにlistにしたパラメータ名と値をそれぞれ渡します
合わせてみてみる
gitcloneしてきてもらい
FisheryRiverBoatForStackedRequestTestを見てみてください。
テストクラスにサンプルがあるのでみてみてください。以下抜粋です。
@Test
public void test() throws ParseException, IOException {
ObjectMapper om = new ObjectMapper();
List<String> paramNames = new ArrayList<String>();
paramNames.add("prefCode");
List<String> paramValues = new ArrayList<String>();
paramValues.add("1");
StringBuffer params = ResasUtil.addParameters(paramNames, paramValues);
String result = ResasHttpAccess.sendString("api/v1" + FisheryRiverBoatForStackedRequest.url, params.toString());
System.out.println(result);
FisheryRiverBoatForStackedResult resultData = om.readValue(result,
FisheryRiverBoatForStackedResult.class);
FisheryRiverBoatForStacked a = resultData.getResult();
}
最後に
一通りのクラスがあるので、ご利用くださいませ。
また、まだまだ抽象化や簡単にできるところがあるので皆さんのリクエストやヘルプお待ちしております。
(゚∀゚)地元が素敵な街になりますよう
Author And Source
この問題について(RESAS-APIのクライアントをJavaでつくってみました), 我々は、より多くの情報をここで見つけました https://qiita.com/kouichiUme/items/ce576af26ac8fd1304a2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .