SpringCloud微服务(二),Feign声明式客户端
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SpringCloud微服务(二),Feign声明式客户端,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2448字,纯文字阅读大概需要4分钟。
内容图文
1、Feign简介
Feign是一个声明式的web服务客户端,它使得写web服务变得更简单,试想一下,在微服务项目中,多个服务分机部署在不同的服务器上,如果一个服务想要去调用另外一个服务的方法,通常会选择http请求,但在springcloud中,提供了Feign声明式客户端去更优雅的解决服务之间接口调用的问题,Feign通过@FeignClient注解方法,获取已注册到注册中心对应的服务,通过JDK动态代理实现远程调用。
2、SpringCloud整合Feign
2.1、添加provide2服务
修改provide2服务的pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.springcloud</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.springcloud</groupId>
<artifactId>provider2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>provider2</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- feign -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.2.1.RELEASE</version>
</dependency>
</dependencies>
</project>
2.2、配置provide2服务
修改provide2服务中的bootstrap.yaml文件,将provide2服务注册到nacos。
server:
port: 9002
spring:
application:
name: provide2
cloud:
nacos:
discovery:
server-addr: localhost:8848
2.3、添加feign接口
此处因为要调用provide1的接口,@FeignClient注解中的name属性对应接口提供方在nacos的注册中心所注册的服务名,此处我要调用provide1服务提供的/provide1/info接口,该接口Rest类型为GET。
@FeignClient(name = "provide1")
public interface FeignInterface {
@RequestMapping(value = "/provide1/info" , method = RequestMethod.GET)
Map<String,Object> hello();
}
2.4、添加控制器
添加测试控制器,运行provide1和provide2服务
@RestController
@RequestMapping("/feign")
public class HelloController {
@Autowired
private FeignInterface feignInterface;
@GetMapping("/info")
public Map<String,Object> getInfo(){
return feignInterface.hello();
}
}
在浏览器输入provide2的接口地址http://localhost:9002/feign/info,浏览器显示结果如下,接口调用成功
完结
内容总结
以上是互联网集市为您收集整理的SpringCloud微服务(二),Feign声明式客户端全部内容,希望文章能够帮你解决SpringCloud微服务(二),Feign声明式客户端所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。