• 03. Feign


    03. Feign

    Feign使用面向api编程, 来简化编程 ,默认使用RoundRobbin,可以不需要额外配置负载均衡

    在ribbon的基础上修改

    1. microsoft-api
    • 修改api的pom.xml添加

              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-starter-openfeign</artifactId>
              </dependency>
      
    • 添加一个接口

      //name对应微服务名称
      @FeignClient("MICROSOFT-PROVIDER")
      public interface DeptClientService {
          //表示发送/provider/add请求到MICROSOFT-PROVIDER所在的服务
          @PostMapping(path = {"/provider/add"})
          boolean add(@RequestBody Dept dept);
      
          @GetMapping(path = "/provider/get/{id}")
           Dept get(@PathVariable("id") Integer id);
      
          @GetMapping(path = "/provider/get")
           List<Dept> list();
      }
      
    1. 添加一个模块, 将consumer拷贝
    • 添加依赖

              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-starter-openfeign</artifactId>
              </dependency>
      
    • 修改controller

      @RestController
      @RequestMapping("/consumer")
      public class DeptConsumerController {
          @Autowired
          DeptClientService service;
          //controller中的mapping可以与接口中定义的不同,但是api接口中的mapping要与微服务定义的mapping相同
          @PostMapping(path = {"/add"})
          public boolean add(@RequestBody Dept dept){
              return service.add(dept);
          }
          @GetMapping(path = "/get/{id}")
          public Dept get(@PathVariable("id") Integer id){
              return service.get(id);
          }
      
          @GetMapping(path = "/get")
          public List<Dept> list(){
              return service.list();
          }
      }
      
    • 修改主启动类

      //扫描对应@FeignClient修饰的接口所在包
      @EnableFeignClients({"com.chz.microsoftapi.service"})
      @EnableEurekaClient
      @SpringBootApplication
      public class MicrosoftConsumer80FeignApplication {
      
      	public static void main(String[] args) {
      		SpringApplication.run(MicrosoftConsumer80FeignApplication.class, args);
      	}
      }
      

      如果使用RoundRobbin来负载均衡就行, 那么就不用配置Ribbon

  • 相关阅读:
    test
    ws318 配置
    电影地址:
    白岩松给青少年的7个忠告,值得好好阅读~
    干部带队伍的四个知道,一个跟上
    CDOJ 1259 昊昊爱运动 II bitset+线段树
    codeforces 508D . Tanya and Password 欧拉通路
    poj 1041 John's trip 欧拉回路
    poj 1651 Multiplication Puzzle 区间dp
    poj 2955 Brackets 区间dp
  • 原文地址:https://www.cnblogs.com/kikochz/p/12868814.html
Copyright © 2020-2023  润新知