2017-03-06 116 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拦截器日志,这是改进的一个很棒的工具,我可以找到根错误。