• 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;
        }
    
  • 相关阅读:
    试试 cocos creator 3.0 还算可以
    安卓按键辅助(类似按键精灵)
    一次github遭遇
    NSString
    Navicat for SQL Server V10.0.10
    申请博客第一天
    Google Earth的脫機應用-本地模擬瓦片系統
    Vs2010+opencv2.3.1 imread出现异常
    tcpdump工具注意事项
    选择服务器托管机房的注意事项
  • 原文地址:https://www.cnblogs.com/rever/p/14218954.html
Copyright © 2020-2023  润新知