我试图使用具有该授权标头的api,我可以在Postman中获得200响应所有数据,但不能让它在改造中工作
答案 0 :(得分:1)
可能需要使用OkHttp Interceptor添加Token
。
OkHttpClient client = new OkHttpClient.Builder()
.addNetworkInterceptor(mTokenInterceptor)
.build();
然后将其添加到Retrofit
:
Retrofit retrofit = new Retrofit.Builder()
.client(client)
.baseUrl(base_url)
.build();
mTokenInterceptor
:
Interceptor mTokenInterceptor = new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
if (mToken != null) {
Request.Builder requestBuilder = request.newBuilder()
.addHeader("Authorization", mToken);
Request newRequest = requestBuilder.build();
return chain.proceed(newRequest);
}
return chain.proceed(request);
}
};
获得Token
后,只需指定mToken
,
答案 1 :(得分:0)
你可以尝试类似下面的内容,只是一个粗略的例子
@GET("your server url goes here")
Call<Your_Model_Class> getServerData(@Header("Authorization") String token);
将您的令牌传递给getServerData
方法。