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;
        }
    
  • 相关阅读:
    jquery对同级的td做radio限制
    "javascript:void(0)"用法
    SQL 插入查询的最大ID 号 进行批量
    Java数字、货币值和百分数等的格式化处理
    PHP 注意问题
    Android Fragment真正意义上的onResume和onPause
    Android_CodeWiki_03
    Android_CodeWiki_02
    Android_CodeWiki_01
    Android 启动APP黑屏解决方案
  • 原文地址:https://www.cnblogs.com/rever/p/14218954.html
Copyright © 2011-2022 走看看