Retrofit添加公共请求参数以及添加自定义的ConverterFactory
来源:互联网 发布:鹊桥佣金数据哪里查看 编辑:程序博客网 时间:2024/05/18 17:01
public class HttpBaseInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Request oldRequest = chain.request(); // 添加新的参数 HttpUrl.Builder authorizedUrlBuilder = oldRequest.url() .newBuilder() .scheme(oldRequest.url().scheme()) .host(oldRequest.url().host()); Request.Builder builder = oldRequest.newBuilder() .method(oldRequest.method(), oldRequest.body()); authorizedUrlBuilder.addQueryParameter("salt", UserService.getInstance().getSalt()); authorizedUrlBuilder.addQueryParameter("user_id", UserService.getInstance().getUserid()); // 新的请求 Request newRequest = builder.url(authorizedUrlBuilder.build()).build(); Response response; try { response = chain.proceed(newRequest); } catch (Exception e) { throw e; } //这个是因为,如果请求下载链接的话,会导致无法获取response BufferedSource source = response.body().source(); source.request(Long.MAX_VALUE); return response; }}
以下是添加自定义处理response的ConverterFactory,处理返回的结果
public class StringConverterFactory extends Converter.Factory { public static StringConverterFactory create() { return new StringConverterFactory(); } @Override public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) { //Retrofit并不是自动去判断返回的类型,依旧是需要指定的,能处理就处理,不能处理就返回null if(type==String.class){ return new Converter<ResponseBody, String>() { @Override public String convert(ResponseBody value) throws IOException { return value.string(); } }; }else return null; }}
阅读全文
0 0
- Retrofit添加公共请求参数以及添加自定义的ConverterFactory
- Rxjava+retrofit 添加公共请求参数及请求结果封装
- post请求添加公共参数
- Retrofit 请求体header的添加
- Okhttp 请求添加公共参数、公共Headers 方法
- ajax请求添加自定义header参数
- OkGo添加公共参数
- retrofit/okhttp添加拦截器公共参数签名,打印详情响应
- Retrofit添加header参数的几种方法。
- 如何在Retrofit请求里添加Cookie
- ios url 请求头添加参数及自定义cookie
- 自定义的拦截器,封装公共参数 get请求
- 自定义拦截器封装公共请求参数
- OkHttp拦截器POST添加公共参数
- Retrofit的进阶之路(二)添加请求头和上传图片
- 如何添加PC的某盘为公共盘以及如何map公共盘
- python的requests在网络请求中添加cookies参数
- iOS如何添加自定义UIWebView的HTTP请求头
- 用not过滤返回的jQuery对象
- mysql grant提示无权限
- 随笔:c执行函数
- Eclipse背景颜色修改
- java发送简单邮件,以及发送邮件异常总结
- Retrofit添加公共请求参数以及添加自定义的ConverterFactory
- 数组的合并 与 类数组转数组
- java 判断字符串中是否包含汉字
- 标题栏中的“无标题”去掉方法
- 排序
- PLSQL 使用技巧
- 微信截屏分享、图片压缩处理!
- 欢迎使用CSDN-markdown编辑器
- Base