踩坑了,被坑无数次,依旧保持初心,继续被坑。
事情是这样事的,fegin请求时要在header里加个数据,我咔咔百度,一顿加。先是没有日志,然后找fegin开header的日志,然后有日志了。但是无论怎么搞,header日志就是没变化,找到源包打个断点,好家伙,日志输出没输出,老早就加进去了。坑人的框架
fegin请求时要在header里加个数据
1.fegin 开启header日志输出
2.fegin请求加header信息
feign.client.config.default.logger-level
配置这个配置项,枚举共有4个。(我们默认了BASIC,抓狂)
-
- /**
- * Controls the level of logging.
- */
- public enum Level {
- /**
- * No logging.
- */
- NONE,
- /**
- * Log only the request method and URL and the response status code and execution time.
- */
- BASIC,
- /**
- * Log the basic information along with request and response headers.
- */
- HEADERS,
- /**
- * Log the headers, body, and metadata for both requests and responses.
- */
- FULL
- }
就别用什么Feign的@Header了,根本不好使。
直接在你
@PostMapping,@GetMapping,@RequestMapping中加header就行了。
- @PostMapping(value = "/info/send",headers = "source=token")
-
- @PostMapping(value = "/info/send",headers = "source=${app.id}")
第一个是直接写死值,第二条是获取配置信息的值
- @PostMapping(value = "/info/send")
- MessageResp sendMessage(@RequestBody MessageReq messageReq,@RequestHeader("aaa") String aaa);
添加@RequestHeader,在入参里传入即可,这也是key-value的形式,key是配置在@RequestHeader中的aaa.
注:看源码是个好习惯,我总是学不会,总是遇到问题的时候瞎搞,曲线救国