2012-07-04 136 views
0

this 教程編寫了如何創建REST服務以及如何使用它。我通過消費示例困惑。在那裏,我們需要對客戶端jersey.jar,寫這樣的:如何使用RESTful Web服務?

Client client = Client.create(config); 
WebResource service = client.resource(getBaseURI()); 

爲什麼客戶端需要知道網絡的服務如何實現的(球衣或可能ohter實現)?爲什麼客戶端不會使用簡單的InputStream

+0

正如在同一教程中提到的,「Jersey包含一個REST客戶端庫,可用於測試或用Java構建一個真實的客戶端。**另外,您可以使用Apache HttpClient創建客戶端。**」 – mazaneicha

回答

1

在這個特定的教程中,您正在使用球衣客戶端與RESTful服務進行交互。

您也可以直接通過手動創建HTTP請求並接收相應的響應和解析來直接與服務交互(http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html) 。

澤西島客戶端最終只是一個抽象,使它更容易使用。

0
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(); 
     }