1、第一点就是要明白服务与服务之间在怎么样的情况下,如何使用feign
答:服务A要调用服务B的某个controller方法的时候,服务A就需要使用feign ,和服务B是没关系的
所以,首先,在服务A中添加feign的依赖,我这里就还用之前的bigSon去调用smallSon中的方法,但是发现在bigSon中添加Feign依赖的时候,需要我加版本号,这就不对劲了。
这个时候我们要明白,我们现在在子工程里面加的所有依赖,都是父工程传下来的,所以,这里需要加版本号是因为父工程添加的依赖中并没有feign,所以,我们要去父工程中添加 springcloud的依赖。这里,又有注意点了。
(1)、springcloud的版本要和咱们springboot的版本适应(不知道哪个适应就试呗,我就是试的,总共提示的版本也没几个)
(2)同样的,下面的这段代码也要加上,不然子工程里还要加版本号。
<type>pom</type>
<scope>import</scope>
加完之后,在子工程中添加feign的依赖就可以了
2、依赖加完,下一步就是在bigSon的启动类中添加注解
3、然后,我们分别在bigSon和smallSon中写两个controller
4、这时候可以启动起来,在浏览器中测试,访问一下,能看到返回的我是大儿子,我是小儿子,就代表成功了
5、然后,就是在bigSon中写Feign的接口,在这个里面写一个和smallSon中的方法名一样的方法,写好服务名(应用名)和路径名
6、修改bigSon中的方法,注入feign接口,并在里面调用方法,并返回
7、启动两个服务,访问大儿子的路径,如果返回小儿子,就代表大儿子访问小儿子成功了
这样,你的feign就算是完活了。