2017-03-06 113 views
0

我正在使用retrofit2向服務器發出放入請求。同樣的道理,使用郵遞員的身體和路徑,內容成功編輯,但同樣的事情與錯誤使用retrofit2說明先決條件失敗。 412錯誤。412先決條件當改裝2的PUT請求失敗

@PUT("issues/{id}/") 
Call<IssueList> putIssue(@Header("Authorization")String token, 
         @Body IssueList issue, 
         @Path("id") Double issueId); 

編輯

Call<IssueList> issuePostRequest = postService.putIssue(Splash.token, 
        issueRequest,editIssueId); 
      issuePostRequest.enqueue(new Callback<IssueList>() { 
       @Override 
       public void onResponse(Call<IssueList> call, Response<IssueList> response) { 
        if (!response.isSuccessful()){ 
         System.out.println(response.message()); 
         System.out.println(response.code()); 
         System.out.println(response.headers()); 
         return; 
        } 
        System.out.println("passed"); 
       } 

       @Override 
       public void onFailure(Call<IssueList> call, Throwable t) { 

       } 
      }); 

響應不成功。

+1

嘗試沒有最後一個斜槓,@PUT(「issues/{id}」) – sadat

+0

我以前試過。這不起作用。 –

+0

你確定id是''Double''嗎?聽起來有點奇怪。我甚至不知道如何改造格式,但我懷疑它會增加小數點,這對於一個id聽起來很奇怪。這會導致像「issues/123.0 /''這樣的url – Fred

回答

0

感謝大家,我發現問題所在。這不是改造,而是我發送的物品。我通過@Body發送了一個具有不需要的變量的對象。

我瞭解了http攔截器日誌,這是改進的一個很棒的工具,我可以找到根錯誤。