美文网首页
Retrofit2 — 参数拦截器

Retrofit2 — 参数拦截器

作者: 河婆墟邓紫棋 | 来源:发表于2016-08-15 00:27 被阅读615次

使用retrofit2作为网络框架,可以用@Query注解来设置请求的查询参数,但如果部分请求或者全部请求都会带上一个同样的参数,依旧采用在每一个请求中设置参数的方案就显得笨重,本篇记录用拦截器设置多个请求的公共参数

在OkHttpClient中添加拦截器,将请求拦截下来的请求得到HttpUrl,改写HttpUrl生成新的请求,然后手动执行新的带有公共参数的请求。

import java.io.IOException;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;

public class AddParamInterceptor implements Interceptor {
    @Override
    public Response intercept(Chain chain) throws IOException {

    Request originalRequest = chain.request();
    Request request;

    HttpUrl modifiedUrl = originalRequest.url().newBuilder()
            // Provide your custom parameter here
            .addQueryParameter(key, value)
            .build();
    request = originalRequest.newBuilder().url(modifiedUrl).build();

    return chain.proceed(request);
    }
}

相关文章

  • Retrofit2 — 参数拦截器

    使用retrofit2作为网络框架,可以用@Query注解来设置请求的查询参数,但如果部分请求或者全部请求都会带上...

  • SpringBoot通过拦截器获取登录信息

    配置拦截器及参数解析器 拦截器 3.参数解析器 4.CurrentUser注解

  • Shiro的URL匹配模式

    格式为:url=拦截器[参数],[] 表示参数可以没有拦截器:anon 无需登录即可访问authc 认证后才可以访...

  • 面试笔记

    面试笔记 一、Okhttp 拦截器作用应用拦截器拿到的是原始请求,可以添加一些自定义header、通用参数、参数加...

  • 6. kafka拦截器

    拦截器定义拦截器参数命名为:interceptor.classes。官方文档解析如下: A list of cla...

  • Android-Retrofit示例

    0. Thanks Android Retrofit2 Post请求添加Json类型参数笔记 Retrofit2....

  • OkHttp公共参数封装 拦截器

    自定义参数拦截器继承OkHttp提供Interceptor(拦截器)类 使用chain.request()获取Re...

  • 记录项目中的Retrofit请求参数封装

    项目中联网框架使用的是Retrofit2,因为项目的接口设计了许多公共参数,需要对Retrofit网络请求参数进行...

  • SpringMVC -- 拦截器

    一.拦截器 定义拦截器,实现HandlerInterceptor接口 可以从名称和参数看出各个接口的顺序和作用: ...

  • sourceCode

    拦截器 org.apache.ibatis.plugin.InterceptorChain 参数解析的地方 co...

网友评论

      本文标题:Retrofit2 — 参数拦截器

      本文链接:https://www.haomeiwen.com/subject/yjqusttx.html