我正在尝试对 json 文件执行 GET 请求:
https://www.someurl.com/appconfiguration.json
所以我用下面的 GET 方法创建了一个接口(interface)
@GET("appconfiguration.json}")
Call<AppConfigParent> loadAppConfigParent();
并这样调用它:
final MMSATServices.AppConfigResponse appConfigResponse = new MMSATServices.AppConfigResponse();
appConfigResponse.appConfigParent = new AppConfigParent();
appConfigResponse.appConfigParent.configuration = null;
Call<AppConfigParent> call = api.loadAppConfigParent();
call.enqueue(new Callback<AppConfigParent>() {
@Override
public void onResponse(Call<AppConfigParent> call, Response<AppConfigParent> response) {
appConfigResponse.appConfigParent.configuration = response.body().configuration;
bus.post(appConfigResponse);
}
@Override
public void onFailure(Call<AppConfigParent> call, Throwable t) {
}
});
请注意,api
对象是接口(interface)的实例,它是在父类(super class)中定义的。
实际问题是我收到 404 响应:
请求{method=GET, url= https://someurl.com/appconfiguration.json%7D , 标签=请求{方法=GET, url= https://someurl.com/appconfiguration.json%7D , 标签=空}}
如您所见,%7D
附加到 URL,这会导致 404 错误。我怎样才能摆脱这种行为?
最佳答案
删除在
@GET("appconfiguration.json}")
关于Android Retrofit 附加不需要的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43116411/