this 教程編寫了如何創建REST服務以及如何使用它。我通過消費示例困惑。在那裏,我們需要對客戶端jersey.jar
,寫這樣的:如何使用RESTful Web服務?
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
爲什麼客戶端需要知道網絡的服務如何實現的(球衣或可能ohter實現)?爲什麼客戶端不會使用簡單的InputStream
?
this 教程編寫了如何創建REST服務以及如何使用它。我通過消費示例困惑。在那裏,我們需要對客戶端jersey.jar
,寫這樣的:如何使用RESTful Web服務?
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
爲什麼客戶端需要知道網絡的服務如何實現的(球衣或可能ohter實現)?爲什麼客戶端不會使用簡單的InputStream
?
在這個特定的教程中,您正在使用球衣客戶端與RESTful服務進行交互。
您也可以直接通過手動創建HTTP請求並接收相應的響應和解析來直接與服務交互(http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html) 。
澤西島客戶端最終只是一個抽象,使它更容易使用。
String URL ="http://localhost:8080/MyWServices/REST/WebService/";
String ws_method_name = "getManagerListByRoleID";
String WS_METHOD_PARAMS = "";
HttpClient httpClient = new DefaultHttpClient();
HttpContext httpContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet(URL + ws_method_name + WS_METHOD_PARAMS);
String text = null;
try {
HttpResponse httpResponse = httpClient
.execute(httpGet, httpContext);
HttpEntity entity = httpResponse.getEntity();
text = getASCIIContentFromEntity(entity);
}catch(Exception e){
e.printStackTrace();
}
使用最簡單的方法Restful Web服務正在使用Spring RestTemplate。 http://docs.spring.io/spring/docs/3.0.x/api/org/springframework/web/client/RestTemplate.html
正如在同一教程中提到的,「Jersey包含一個REST客戶端庫,可用於測試或用Java構建一個真實的客戶端。**另外,您可以使用Apache HttpClient創建客戶端。**」 – mazaneicha