• Fegin Client添加Header


    前言:

    踩坑了,被坑无数次,依旧保持初心,继续被坑。

    事情是这样事的,fegin请求时要在header里加个数据,我咔咔百度,一顿加。先是没有日志,然后找fegin开header的日志,然后有日志了。但是无论怎么搞,header日志就是没变化,找到源包打个断点,好家伙,日志输出没输出,老早就加进去了。坑人的框架

    背景:

    fegin请求时要在header里加个数据

    要点:

    1.fegin 开启header日志输出

    2.fegin请求加header信息

    实现:

    1.fegin 开启header日志输出

    feign.client.config.default.logger-level
    

    配置这个配置项,枚举共有4个。(我们默认了BASIC,抓狂)

    1. /**
    2. * Controls the level of logging.
    3. */
    4. public enum Level {
    5. /**
    6. * No logging.
    7. */
    8. NONE,
    9. /**
    10. * Log only the request method and URL and the response status code and execution time.
    11. */
    12. BASIC,
    13. /**
    14. * Log the basic information along with request and response headers.
    15. */
    16. HEADERS,
    17. /**
    18. * Log the headers, body, and metadata for both requests and responses.
    19. */
    20. FULL
    21. }

    2.fegin请求加header信息

    就别用什么Feign的@Header了,根本不好使。

    直接在你

    @PostMapping,@GetMapping,@RequestMapping中加header就行了。

    key,value的写法

    1. @PostMapping(value = "/info/send",headers = "source=token")
    2. @PostMapping(value = "/info/send",headers = "source=${app.id}")

    第一个是直接写死值,第二条是获取配置信息的值

    传入值的写法

    1. @PostMapping(value = "/info/send")
    2. MessageResp sendMessage(@RequestBody MessageReq messageReq,@RequestHeader("aaa") String aaa);

    添加@RequestHeader,在入参里传入即可,这也是key-value的形式,key是配置在@RequestHeader中的aaa.

    注:看源码是个好习惯,我总是学不会,总是遇到问题的时候瞎搞,曲线救国

  • 相关阅读:
    Thinkphp下载oss文件至本地压缩包
    手机兼容性测试
    MySQL 主从复制、读写分离理论分析+实战演示
    【ASP.NET Core】在 Mini-API 中注入服务
    Java成员方法的声明和调用
    Git使用
    打开深度学习的锁:(1)入门神经网络
    线程交互现象
    linux环境下的nc(ncat的简写)命令用法和udp端口检测
    Xss跨站脚本攻击
  • 原文地址:https://blog.csdn.net/qq_28600087/article/details/133879570