2017-03-06 217 views
0

我以两种方式尝试了我的请求。这是@PUT请求不适用于改造2

@PUT("api/check-ticket/{reg_id}/{gate}/") 
Observable<AppAllowTicketResponse> checkRealTimeTicketStatus(
     @Path("reg_id") String ticket_id, 
     @Path("gate") int gate_id 
); 

和..

@FormUrlEncoded 
@PUT("api/check-ticket/{reg_id}/{gate}/") 
Observable<AppAllowTicketResponse> checkRealTimeTicketStatus(
     @Field("reg_id") String ticket_id, 
     @Field("gate") int gate_id 
); 

但它总是给我的错误结束。未找到HTTP 404。我有其他@GET和@POST请求正在工作。电话正在从这里发生..

mTicketCheckService.checkRealTimeTicketStatus(ticket_id, (gate_id+ValueConstants.GATE_ADD_VALUE)) 
      .subscribeOn(mNewThread) 
      .observeOn(mMainThread) 
      .subscribe(new Observer<AppAllowTicketResponse>() { 
       @Override 
       public void onCompleted() { 

       } 

       @Override 
       public void onError(Throwable e) { 
        e.printStackTrace(); 
        Log.e("api error response: ", e.getLocalizedMessage()); 

       } 

       @Override 
       public void onNext(AppAllowTicketResponse appAllowTicketResponse) { 


       } 
      }); 

我不知道为什么会发生这种情况。我搜索了类似的问题stackoverflow,但没有得到任何解决方案。

+0

由于其他请求起作用,我认为您已启用互联网许可。你有没有在邮递员中尝试网址,看看它是否好? –

+0

工作正常我邮递员。 URL是“http://base.url/api/check-ticket?reg_id = YB-40001&gate = 16” –

+0

您是否在最后没有多余的“/”来尝试? “base.url/api/check-ticket?reg_id = YB-40001&gate = 16”vs“base.url/api/check-ticket?reg_id = YB-40001&gate = 16 /” –

回答

0

我犯了一个愚蠢的错误。这一切都是为了错误的网址格式。现在拨打电话

@PUT("api/check-ticket") 
Observable<AppAllowTicketResponse> checkRealTimeTicketStatus(
     @Query("reg_id") String ticket_id, 
     @Query("gate") int gate_id 
); 

现在它完美的工作。