我有一个使用Retrofit 2.0 beta2的大型项目,但是@Path似乎以某种方式损坏。

这是收到请求时来自服务器端的日志:/ group /%7Bid%7D / users
“ {}”被标识为编码值,而不是用实际值替换。

我试图创建一个测试项目,它似乎可以正常工作,但是当我在大型项目中尝试相同的代码时,它就坏了!可能是什么原因?在这里保护问题吗?

这是我测试过的简单界面

@GET("/group/{id}/users")
Call<Object> groupList(@Path("id") int groupId);

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://1.1.1.1:5050")
            .addConverterFactory(GsonConverterFactory.create())
            .build();
RetrofitConfigurationService2 service = retrofit.create(RetrofitConfigurationService2.class);
    service.groupList(12).enqueue(new Callback<Object>() {
        @Override
        public void onResponse(Response<Object> response, Retrofit retrofit) {

        }

        @Override
        public void onFailure(Throwable t) {

        }
    });


谢谢!

最佳答案

答案是-保留接口com.yourretrofitinterface。** {*; }
在proguard文件中。

关于android - 为什么Retrofit @Path不替代?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33357425/

10-12 04:18