• 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

  • 相关阅读:
    快速排序及其优化
    JVM基础:深入学习JVM堆与JVM栈(转)
    java 反射简介(转载)
    java 泛型简介(转载)
    Java 注解简介
    JVM入门必看——JVM结构
    Java多线程详解(转载)
    SpringMVC 实现文件的上传与下载
    死锁简介
    SQL的模糊查询(转载)
  • 原文地址:https://www.cnblogs.com/twodog/p/12135177.html
Copyright © 2020-2023  润新知