• 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 测试是否可以成功调用提供者服务

    转载于:https://www.cnblogs.com/zengnansheng/p/10389838.html

  • 相关阅读:
    最小费用最大流
    bzoj1070[SCOI2007]修车
    bzoj1877[SDOI2009]晨跑
    bzoj2879[NOI2012]美食节
    bzoj1834[ZJOI2010]网络扩容
    Tic-Tac-Toe-(暴力模拟)
    javascript慕课入门
    hdu2586-How far away ?-(最近公共祖先-Tarjan离线算法)
    CSS初识盒子
    CF1047C-Enlarge GCD-(欧拉筛+gcd+唯一分解定理)
  • 原文地址:https://www.cnblogs.com/twodog/p/12135177.html
Copyright © 2020-2023  润新知