我正在尝试在我的Android应用中使用retrofit 2.3。
我有以下网址格式:
www.test.com/api?url=a?response=json。
如何将此网址投放到QueryParam?对于第一部分,www.test.com / api将是我的基本网址,然后是@Query("url")
值,但是如何在第二个responsetype=json
之后处理'?'
答案 0 :(得分:0)
应该可以将其添加为查询参数
e.g:
Call<TestSiteResult> getTestSiteInfo(@Query("url") String yourUrl, @Query("response") String responseType)
如果需要此响应参数,您还可以考虑使用OkHttpClient进行HTTP连接(您只需使用Retrofit.Builder的客户端(OkHttpClient)方法添加它),该方法负责拦截URL并附加某个URL您的URL的参数(例如,我用它来拦截api密钥)。
LoggingInterceptor可能如下所示:
public class TestLoggingInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request original = chain.request();
HttpUrl originalHttpUrl = original.url();
HttpUrl url = originalHttpUrl.newBuilder()
.addQueryParameter("response", "json")
.build();
Request.Builder requestBuilder = original.newBuilder();
.url(url);
Request request = requestBuilder.build;
return chain.proceed(request);
}
}
我希望这可以帮到你。