本章学习Feign,包括Feign的自定义配置,实现文件上传,进一步实现代码的重用,Feign性能优化,Feign与RestTemplate的对比与选择.
Feign是Netflix开源的声明式HTTP客户端
添加依赖

新建包及接口
服务实现类


默认的Feign是不打印日志的
下面将设置为FULL级别
将之前的Java配置类的注解注释掉
◆ 方式一:让父子上下文ComponentScan重叠(强烈不建议使用)
◆ 方式二[唯一正确的途径] :@EnableFeignClients(defaultConfiguration=xxx.class)

◆ 官方观点:不建议使用
这里继承会产生紧耦合
◆ 业界观点:很多公司使用
比如User服务修改了字段,而Content服务却不知道,没有修改,那么调用时就会报错
◆ 个人观点:权衡利弊
此处有争议,不赘述
比如在User服务中有这样一个请求

那么如何使用Feign去请求这样的API呢?
回到Content服务,写代码
因为现在有两个client都叫user-client(测试类也叫user-client), 重名了,所以Spring创建代理时会有问题,加上上述配置即可解决
但是此刻这样访问依旧报错405
Feign端服务代码, 还需要添加注解
在Content服务写代码

◆ 原则:尽量用Feign ,杜绝使用RestTemplate
◆ 事无绝对合理选择
使用okhttp同理配置如上两步骤
因为默认不打印日志哦!建议设置为basic,不要为full哦

Open Feign官网
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1729/viewspace-2824022/ ,如需转载,请注明出处,否则将追究法律责任。