@PUT请求不在改造2中工作

时间:2017-03-06 08:22:26

标签: android retrofit2

我以两种方式尝试了我的请求。

@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的类似问题,但没有得到任何解决方案。

1 个答案:

答案 0 :(得分:1)

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

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

现在完全正常工作。