我正在使用外部RESTful服务的Google App Engine中创建网络应用程序。经过一番研究,我选择只使用java.net.URL类,而不是任何 JAX-RS API,例如Jersey,因为这些 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...
然后我使用Google 的 GSON处理 JSON 响应,它也与 GAE 完全兼容。
首先,您认为这是一个不错的选择吗?
然后,我想以某种方式集中这些代码,因为我的应用程序中有许多不同的服务调用,那么我该怎么做呢?我想用这样的方法创建一些类:
public BufferedReader sendRESTRequest (URL url)
//previous code here...
}
但我不确定......这个方法应该是静态的吗?同步?我应该在方法内还是在类中创建一个 HttpURLConnection 对象?ETC...
谢谢!