添加依赖
<!--Feign远程调用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
启动类增加注解
@EnableFeignClients
使用
@Service
@FeignClient("product")
public interface ProductFeign {
@GetMapping("test/get")
String get();
}
注意@FeignClient(“product”) 注解里的值为nacos发现的服务名
验证测试
product服务创建controller
package gorld.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("test")
public class ProductController {
@GetMapping("get")
public String get(){
return "获取商品成功";
}
}
order创建feign 接口
package net.gorld.feign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
@Service
@FeignClient("product")
public interface ProductFeign {
@GetMapping("test/get")
String get();
}
order服务创建controller
package net.gorld.controller;
import net.gorld.feign.ProductFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("order")
public class OrderController {
@Autowired
private ProductFeign productFeign;
@GetMapping("get")
public String get(){
return productFeign.get();
}
}
postman访问测试
OK测试成功 专栏有讲解 feign兜底数据返回,和项目中feign调用导致token令牌丢失问题解决。