zoukankan      html  css  js  c++  java
  • Spring boot中使用Retrofit拦截器增加日志打印功能

    Spring boot中使用Retrofit拦截器增加日志打印功能

    目前存在的问题

    Retrofit是个封装良好的基于OKHTTP的框架,我们可以方便的使用Retrofit来调用API。那么应该如何优雅的使用Retrofit来调用API呢?

    一、Retrofit如何添加拦截器

    Retrofit本身不能添加拦截器,但是OKHTTP客户端是可以添加拦截器的。那么我们只需要先定义一个OKHTTP客户端,然后在创建Retrofit的时候把客户端加进去就可以了

       Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl(resSyncConfig.getUrl())
                    .client(getClient().build())
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
    

    二、添加拦截器代码

    上面提到,我们需要在OkHttp客户端里面添加拦截器,来实现打印日志的功能。

        /**
         * 获取OKHttp客户端,用于为Retrofit添加拦截器
         *
         * @return OKHttp客户端
         */
        private OkHttpClient.Builder getClient() {
            OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
            httpClientBuilder.addNetworkInterceptor(chain -> {
                Request original = chain.request();
                log.info("{},headers:{}", original.toString(), original.headers());
                return chain.proceed(original);
            });
            return httpClientBuilder;
        }
    
  • 相关阅读:
    有道翻译爬虫
    设置Ubuntu默认root密码
    搭建内部PyPi源
    Python上下文管理器with 学习笔记
    Mysql5.7 绿色版安装
    Mardown 格式接口模板
    Winrar去广告
    Python 查询第三方包依赖及下载
    Python 捕获redis异常
    react入门系列之使用 antd, react, redux,creat-react-app搭建todo-list升级版本
  • 原文地址:https://www.cnblogs.com/rever/p/14218954.html
Copyright © 2011-2022 走看看