我使用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")
时,一切正常。
答案 0 :(得分:0)
检查后端的“授权”过滤器:
您可能已经授权了路由/tag/
,但还应该授权/tag/*
将路径与参数语法匹配。
请告诉我们您的后端,以便我们在需要时为您提供更多输入。