我已按照此链接刷新访问令牌.添加Authenticator到okHttp从okTttp3获取错误的unnexpected流结束从改造回调onFailure方法
public class TokenAuthenticator implements Authenticator {
AccessTokenRefreshModel accessTokenRefreshModel = null;
@Override
public Request authenticate(Route route, Response response) throws IOException {
Call<UserLogin> call = iService.refreshAccessToken(BuildConfig.CLIENT_ID, refreshToken);
UserLogin userLogin = call.execute().body();
// Add new header to rejected request and retry it
return response.request().newBuilder()
.header(AUTHORIZATION, userLogin.getAccessToken())
.build();
}
}
Call<User> call = iService.createuser(user);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
}
@Override
public void onFailure(Call<User> call, Throwable t) {
//**Unexpected end of stream on okhttp3**
}
Run Code Online (Sandbox Code Playgroud)
小智 0
代替
UserLogin userLogin = call.execute().body();
Run Code Online (Sandbox Code Playgroud)
尝试
retrofit2.Response<UserLogin> tokenResponse = call.execute();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3040 次 |
| 最近记录: |