2017-03-06 216 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 
); 

現在它完美的工作。