SpringCloud之整合Feign

Posted zengnansheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud之整合Feign相关的知识,希望对你有一定的参考价值。

假设提供者有如下服务接口方法

@RestController
@RequestMapping("/person")
public class PersonController {
    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
    public Person get(@PathVariable Integer id) {
        Person p = new Person();
        p.setId(id);
        p.setName("name" + id);
        return p;
    }
}

 

 

服务调用者端 pom.xml加入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

 

 

在服务调用者端启动类开启feign

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class Application {
    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }
}

 

在服务调用者端编写一个PersonClient.java

//声明调用的服务名称
@FeignClient("my-provider") 
public interface PersonClient {    
    @RequestMapping(method = RequestMethod.GET, value = "/person/get/{personId}")
    Person getPerson(@PathVariable("personId") Integer id);
}

 

在服务调用者端增加一个测试TestController调用提供者

@Autowired
private PersonClient personClient;

@GetMapping("/personGetFeignTest")
@ResponseBody
public Person personGetFeignTest() {
    return personClient.getPerson(100);
}

 

 

启动注册中心 、提供者、调用者

访问调用者的personGetFeignTest url 测试是否可以成功调用提供者服务

以上是关于SpringCloud之整合Feign的主要内容,如果未能解决你的问题,请参考以下文章

springcloud之Feign实现声明式REST调用

#yyds干货盘点# springcloud整合feign实现服务负载均衡,断路器

SpringCloud + Zookeeper + Feign整合及Feign原理

springcloud feign + Hystrix 整合

Spring Cloud Feign 整合 Hystrix

Sentinel的基本使用-整合SpringCloud