Spring Cloud Hoxton.SR1 实战 之 OpenFeign 1 极简调用

代码位置 : https://github.com/michaelzhanghe/demo-eureka-feign.git

1. 实现简单的服务调用

Spring Cloud Hoxton.SR1 实战 之 OpenFeign 1 极简调用_第1张图片

 

@FeignClient("demo-eureka-client2")
public interface FeignCallerInterface  {
	@RequestMapping("/username")
    String getUserName1();
}

对应关系的说明:

@FeignClient("demo-eureka-client2")的意思是找到demo-eureka-client2服务

@RequestMapping("/username")的意思是在demo-eureka-client2服务中找到@RequestMapping("/username")

String getUserName1();的意思是用于demo-eureka-client1服务调用端的controller调用远程方法时使用的,也就是在controller中调用这个方法给远程方法传递参数接收返回值用的方法,因为找到远程方法时通过URI /username查找,所以方法名字可以与服务提供者不同,但是参数和返回值要相同。

 

2. Maven工程结构讲解

在上一篇文章的基础上,将3个工程作为demo-eureka-feign工程的Maven子工程,主要改动在POM文件

demo-eureka-feign的pom.xml,提取原来工程中的parent,加入modules和packaging

	
		org.springframework.boot
		spring-boot-starter-parent
		2.2.2.RELEASE
	

	com.michael.cloud
	demo-eureka-feign
	0.0.1-SNAPSHOT
	demo-eureka
	Demo project for Spring Boot

	
		demo-eureka-server
		demo-eureka-client1
		demo-eureka-client2
	

	pom

替换Maven子工程中的parent

	
		com.michael.cloud
		demo-eureka-feign
		0.0.1-SNAPSHOT
	

3. demo-eureka-feign的readme

1. The sequence of running service

a. demo-eureka-server
b. demo-eureka-client1
c. demo-eureka-client2

2. Access eureka server with http://localhost:8761/

3. Call client1 service with http://localhost:7761/hi

4. Call client2 service with http://localhost:7762/hi

5. Get username by client2 service with http://localhost:7762/username

6. client1 get client2 username by feign with http://localhost:7761/callclient2username

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Spring,Cloud)