一、springcloud项目pom.xml中导入feign依赖,项目是有两个子模块,一个是消费模块,另一个是提供者模块,我们这里在消费子模块里导入以下依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
原因是,我们是在消费方调用提供方的方法,所以我们在消费方模块导入依赖。
二、在消费方模块,写上一个feign的接口,
@FeignClient(name = "nacos-provider")//name属性的值是同提供方的nacos服务注册名相同
public interface FeignClientHander {
//这个方法一定要和提供方的方法名,参数,返回值要一样,并且请求路径要求一致
@RequestMapping("/get")
String test(@RequestParam("name") String name);
}
提供方的方法:
@RequestMapping("/get")
public String test(@RequestParam("name") String name){
return "provider---";
}
三、在消费方的controller里请求的方法,
@org.springframework.web.bind.annotation.RestController
public class RestController {
@Autowired
private FeignClientHander feignClientHander;//注入该接口
@RequestMapping("/test")
public String test(String name){
String test = feignClientHander.test(name);
return "fegin---test/"+test+"...."+name;
}
}
像这样就是一个简单的feign的测试,依据消费方的方法路径请求方法,可以得到返回的json字符串。