第一步:添加远程调用依赖
使用Fegin实现远程调用,添加依赖,在父工程的时候我们已经添加了
就是这个:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
开启Feign功能
在B工程的Application文件前增加注解@EnableFeignClients:
第二步:进行调用微服务远程调用
这里教学所以以最简单的案例教学, 在用户微服务控制层编写一个最简单的HelloWorld
你们这里这样编写就行,如下:
@Controller
@RequestMapping("/user")
public class UserController {
@GetMapping("/hello")
@ResponseBody
public String hello(){
return "hello";
}
}
启动用户微服务访问一下这个hello,这里没有问题的
第三步:订单微服务调用用户微服务走的hello方法
@FeignClient("user")
public interface UserMicroservice {
@GetMapping("/user/hello")
String hello();
@FeignClient(“user”) 走的user就是用户微服务的名字
意思就是你的用户微服务注册到了nacos服务,nacos有了用户微服务的ip地址和端口号
user可以代表为:localhost:8000
那么有了用户微服务的ip地址和端口,我们怎么就不能调用它的方法能,对吧
然后是方法@GetMapping("/user/hello")
/user/hello这里就是调用user下的hello对吧
第四步:到这里我们在订单微服务写控制层调用我们编写的UserMicroservice接口,看看能否调用成功
@Controller
@RequestMapping("/order")
public class UserController {
@Autowired
private UserMicroservice userMicroservice;
@RequestMapping("/hello")
@ResponseBody
public String hello(){
return userMicroservice.hello();
}
}
第五步:启动用户微服务和订单微服务测试
1:先访问用户微服务本身的hello方法
2:在访问订单微服务的hello方法
这里可以看出,调用成功了