2012-07-09 12 views
1

在我開始使用Restlet之前,我已經編寫了一個Jersey客戶端。這是非常直觀的 - 看起來像Restlet不是。沒有太多的文檔,我無法解決最簡單的問題。Restlet-客戶端的新手素材 - 路徑,Accept頭部,QueryParam

我在哪裏:

service = new ClientResource("http://localhost:8080/com-project-core/rest"); 
    service.setChallengeResponse(ChallengeScheme.HTTP_BASIC, "admin", "geheima"); 

我從文件獲得:

String myString = service.get(String.class); 

或者正在完成一個資源:

ConnectedResourceIF connectedResource = service.wrap(ConnectedResourceIF.class); 

那工作。但是如何:

答:當我想改變我的服務路徑?在新澤西它intuitiv像

service.path("foo").path("bar") 

http://localhost:8080/com-project-core/rest/foo/bar 

B.我想設置一個acceptHeader。在球衣上它就像

service.accept(MediaType.TEXT_PLAIN) 

C.我想設置查詢參數。在球衣:

service.queryParam("1","foo").queryParam("2","bar") 

對不起,希望有人能解決這個初學者的問題。我無法在restlet文檔中找到某些內容。

回答

2

用於:

service.getChild( 「/富/欄」,ConnectedResourceIF.class);

對於B(需要最近的2.1 RCX版本):

service.accept(MediaType.TEXT_PLAIN);

對於C(需要最近的2.1 RCX版本):

service.setQueryValue( 「1」, 「富」);

service.setQueryValue(「2」,「bar」);

尋找這樣的事情最好的地方是的Javadoc,因爲這些API的變化是相當近: http://www.restlet.org/documentation/snapshot/jee/api/org/restlet/resource/ClientResource.html

我們正在一個新的深入教程的下一版本2.2。首先完成「Restlet in Action」一書:)

+0

感謝您的支持幫助。但是,似乎我必須使用2.1版來獲得更好的客戶端支持。 – 2012-07-09 15:08:50