2012-01-26 32 views
0

我正在編寫一個REST服務和一個REST客戶端來調用所述服務。我對此很陌生,所以如果我問一個愚蠢的問題,請與我一起裸露,但我一直無法通過谷歌找到我的答案。在Jersey REST客戶端中模擬錯誤代碼

我們有一堆錯誤代碼,有些是可以重試的,有些不是。我想寫一個客戶端,如果可能的話重試,否則會出現這些錯誤。我現在的主要問題是我不知道如何模擬我想要處理的反應。

比如我做:

Client client = Client.create(); 
    WebResource resource = client.resource("http://localhost:<port>/test"); 
    resource.type(MediaType.APPLICATION_JSON); 
    ClientResponse response = resource.get(ClientResponse.class); 

    if (response.getClientResponseStatus().getStatusCode() == 404) { 
      //do something 
    } 

是否有覆蓋一個特定的類或設置一個處理器上,這樣我可以模擬所有的錯誤代碼,我想測試和處理的好方法?

此外,作爲後續,沒有人知道一個很好的資源,它具有處理對REST客戶端錯誤最佳實踐的信息(你應該多長時間重試你的電話之前等待,等)

致謝!

+0

我有一個處理得到期權和看跌期權和Java代碼什麼不可以.. 公開測試getTest(字符串ID){// 我可以在這裏設置狀態代碼??? } – Craig

回答

0

下面是答案我已經出來:

我不知道如何設置一個響應狀態,更早,但它可以用HttpServletResponse的局部磁場來實現。

然後根據您的REST一些物業叫你可以返回董response.setStatus(440)或任何具體的迴應。

不要忘記在你的迴應中加入一個@Context註解,這樣球衣魔法就可以實例化它。

@Context HTTPServletResponse response;