SpringCloud之FeignClient调用跨微服接口

前文:如果在一个服务里面调用其他服务的接口,有大概以下几种思路

1.在前台ajax直接请求接口的绝对路径,通过请求参数和返回体完成请求,但是缺点如果请求的接口服务器地址或者域名更换,需要重新替换代码,还可能造成跨域请求接口

2.使用springwork自带的RestTemplate或者使用第三方请求工具完成请求,这种方法虽然不会跨域请求,但是请求方的接口地址变化同样也需要改变

3.如果请求服务和被请求服务都注册在Nacos server上使用Feign请求

一、导入依赖

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
 </dependency>

二、开启FeignClient与服务发现

 同时启动调用微服与被调用服务

 被调用方Controller接口

三、创建client包,并添加需要调用的其他模块的微服务的接口

 

 @FeignClient注释在调用者微服务,参数为serviceId,即spring.application.name微服务名称

接口内部请求类型,参数及返回类型均与被调用微服保持一直就可以调用了。

 

posted @ 2021-08-10 16:56  木马不是马  阅读(720)  评论(0编辑  收藏  举报