zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    函数式编程,高阶函数,纯函数,函数柯里化
    JS防抖与节流
    闭包使用场景
    Promise 内部实现
    视图组件
    认证 权限 频率控制 组件
    序列化组件
    Django之中间件及Auth认证模块
    Cookie,Session
    forms组件
  • 原文地址:https://www.cnblogs.com/twodog/p/12135177.html
Copyright © 2011-2022 走看看