进项目第4、5天吧,还要6个接口要写。。。。。。
让人歇会儿吧,本来写好了,但是feign调用就报错,我????怎么,还不让我写了。
然后找bug呗,feign能调通,但是状态是415
,这是?类型不对,找啊找啊,一个小时、俩小时,完了,前端又开始催了,然后眯眯眼,这!这是啥consumes = MediaType.APPLICATION_JSON_VALUE
,在feign被调用端出现一个这玩意,删了吧!
然后。。。。我尼玛,进来了,操,这么简单。
之前feign调用时没有用这个,今天就好好了解一下
consumes
定义了方法接受的Http的请求类型,produces
则定义了Http请求返回的类型;
feignclient接口定义是一个模板化的,其组装的Http请求完全按照你定义的接口去组装,如你在参数中,用@PostMapping
去接收一个参数,其组装请求时,就会将你传入的参数放至param中,你指定的consumes为json,其组装的请求Content-Type就是 application/json类型的,完全不需要调用方感知,就像调用普通方法一样,不得不说,很强大,只要生成的Http请求正确,服务提供方提供的Rest接口能和FeignClient组装的Http请求,就能够完成远程调用。
总结:
之后feign调用时,如果是json就带上consumes
和 produces
,如果不是就不用带了,保持良好的书写习惯。