首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用响应拦截器进行重定向

使用响应拦截器进行重定向
EN

Stack Overflow用户
提问于 2015-08-13 11:24:23
回答 2查看 4.7K关注 0票数 2

我看到ResponseInterceptors在OkHttp中存在。我想使用一个,但是我使用的是Retrofit,而不是直接使用OkHttp。

我的问题是,首先,是否可以在改造后使用ResponseInterceptors?如果是的话,怎么做?有用于请求拦截器的api方法,但我找不到任何相应的响应方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-13 13:04:44

对于那些无意中发现这个问题的人,我经过进一步的搜索,终于找到了答案。请注意,以下内容需要OkHttp 2.2+和改装1.9+

代码语言:javascript
运行
复制
//First create the OkHttp client and add your response interceptor
OkHttpClient httpClient = new OkHttpClient();
httpClient.interceptors().add(new ApiResponseInterceptor());

//then set the client on your RestAdapter
RestAdapter.Builder builder = new RestAdapter.Builder()
       .setEndpoint(ACCOUNTS_SERVICE_BASE_URL)
       .setClient(new OkClient(httpClient))
       .setConverter(new GsonConverter(gson)) 
       .setRequestInterceptor(getAuthRequestInterceptor())
       .setLogLevel(RestAdapter.LogLevel.FULL); 
票数 3
EN

Stack Overflow用户

发布于 2017-05-23 11:36:10

还请参阅此this question,它似乎是此版本的副本。一种可能是在Retrofit的execute中重写OkClient方法

代码语言:javascript
运行
复制
OkClient client = new OkClient(okHttpClient) {
    @Override
    public retrofit.client.Response execute(retrofit.client.Request request) throws IOException {
        retrofit.client.Response response = super.execute(request);

        // Inspect 'response' before returning it

        return response;
    }
};

RestAdapter.Builder restAdapterBuilder = new RestAdapter.Builder()
        .setEndpoint(API_BASE_URL)
        .setClient(client);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31986834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档