外部RESTfulサービスを使用するGoogle App EngineでWeb アプリを作成しています。少し調査した後、私はJerseyなどの JAX-RS API の代わりにjava.net.URLクラスのみを使用することを選択しました。これらの API には GAE との互換性の問題があるか、一部のバージョンとのみ互換性があるためです。に...そして、私はこの問題があまり好きではありません。
このチュートリアルに従って、REST サービスを呼び出すには、次のようにします。
URL url = new URL("rest-service-url");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
//process the response...
次に、GAE と完全に互換性があるGoogle の GSONを使用して JSON 応答を処理します。
まず第一に、これは良い選択肢だと思いますか?
そして、このコードを何らかの方法で一元化したいと考えています。なぜなら、私のアプリにはさまざまなサービスへの呼び出しがあるためです。どうすればそれができるでしょうか? 次のようなメソッドでクラスを作成することを考えました:
public BufferedReader sendRESTRequest (URL url)
//previous code here...
}
しかし、よくわかりません...このメソッドは静的でなければなりませんか?同期?メソッド内またはクラス内で HttpURLConnection オブジェクトを作成する必要がありますか? 等...
ありがとう!