我有一个GET api
http://xxxxx/Status?taxYear=2017
响应= "IsValid":true
但是Retrofit查询正在将URL转换为
http://xxxxx/Status?taxYear\u003d2017
响应= "IsValid":false
这会产生错误的API响应。我试过Querymap了,帮我一下。
发布于 2018-04-12 10:54:01
不要在Retrofit端点中使用查询。你必须像这样使用查询注释..。
methodName(@Query(encoded = true, value = "taxYear") String filter)可能“编码”参数可以是false或删除(false是默认值)。
发布于 2018-04-12 11:57:41
还可以在URL中指定查询参数。
@GET("xxxxx/Status?taxYear=2017")
Call<ResponseBody> methodName();或者其他方式是:
@GET("xxxxx/Status?taxYear={year}")
Call<ResponseBody> methodName(@Path("year") String year);发布于 2018-04-12 12:19:02
定义基本URL,如
private static final String BASE_URL = "http://xxxxx/";如果您定义了一个调用请求的接口,请尝试以下操作
@GET("Status")
Call<YourModelClass> yourRequestMethodName(@Query("taxYear") String yourYear);调用上面定义的方法,如
Call<YourModelClass> call = yourRetrofitClientName.yourRequestMethodName("2017");
call.enqueue(new Callback<YourModelClass>() {
@Override
public void onResponse(Call<YourModelClass> call, Response<YourModelClass> response) {
//Handle your response here
}
@Override
public void onFailure(Call<YourModelClass> call, Throwable t) {
//Handle your error here
}
});https://stackoverflow.com/questions/49794462
复制相似问题