feign-引入-服务:间的调用
总结:
1.导入openfeign的包
2.创建一个接口
@FeignClient配置服务的名称
配置调用的服务的url (拷贝调用服务接口过来修改)
3.启动类上打上@EnableFeignclients注解 (是否配置包的原则:feign所在包和启动类在同一级,就不用配置)
4,使用注入对象使用对象调用方法
pom.xml (消费者的)
<!--feign的支持-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
feign的接口
package cn.itsource.feign;
import cn.itsource.domain.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient(value ="provider")
@RequestMapping("/user")
public interface ProviderFeignClient {
@GetMapping("/{id}")
User getUserById(@PathVariable("id") Integer id);
}
消费者 启动类:
package cn.itsource;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableFeignClients // 开启feign的调用
//@EnableFeignClients(basePackages = {"cn.itsource.feign"}) //接口所在包 和 启动类是平级,就不用配置包的所在位置
public class ConsumerApp1020 {
public static void main(String[] args) {
SpringApplication.run(ConsumerApp1020.class);
}
}
feign的使用:
注入feign
通过对象.方法调用
package cn.itsource.controller;
import cn.itsource.domain.User;
import cn.itsource.feign.ProviderFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
@RestController
@RequestMapping("/consumer")
public class RemoteProviderController_feign {
@Autowired
private ProviderFeignClient feignClient; //注入自己的feign的接口,spring会创建代理对象(启动类加@EnableFeignClients注解)
@GetMapping("/getUser/{id}")
public User getUser(@PathVariable("id") Integer id){
User user = feignClient.getUserById(id); // 对象.方法调用
return user;
}
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfajebg
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01