改造:仅允许使用一种HTTP方法。找到:GET和GET

时间:2019-05-06 08:47:44

标签: android http get retrofit

我使用Retrofit将数据从RestApi获取到我在Android中的应用程序。 我对带有参数的Get方法有问题。 当我运行代码时,我得到RetrofitError:[...]:只允许使用一种HTTP方法。找到:GET和GET。

myWebService:

@GET("/tag/{id}")
    void getById(@Path("id") int id, Callback<Data> pResponse);

MainActivity:

String url = "xyz";
        retrofit = new RestAdapter.Builder()
                .setEndpoint(url)
                .setLogLevel(RestAdapter.LogLevel.FULL)
                .build();
        myWebService = retrofit.create(MyWebService.class);
myWebService.getById(id, new Callback<Data>() {

                @Override
                public void success(Data data, Response response) {
                    Log.d(CLASS_TAG, data.toString());

                }

                @Override
                public void failure(RetrofitError error) {

                }
            });

例如:当我将@GET("/tag/{id}")更改为@GET("/tag/1")时,一切正常。

1 个答案:

答案 0 :(得分:0)

检查后端的“授权”过滤器:
您可能已经授权了路由/tag/,但还应该授权/tag/*将路径与参数语法匹配。

请告诉我们您的后端,以便我们在需要时为您提供更多输入。