zoukankan      html  css  js  c++  java
  • 008 Feign的客户端调用

    一 .概述

    在之前我们使用的Ribbon和RestTemplate帮助我们实现微服务的调用,但是这种方式我们需要自己维护很多的URl信息,springcloud整合Feign帮助我们实现一种声明式的调用.

    二 .环境搭建

    [1]引入依赖

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

    [2]编写Feign的接口

    @FeignClient("cloud-producer")
    public interface UserFeign {
        
        @GetMapping("/user/{id}")
        User queryUserByid(@PathVariable("id") int id) ;
    }

    其实从上面的接口之中,我们就能发现实际上我们就是伪造了一个接口,包括微服务的名称和URL信息.

    [3]启动类

    @SpringBootApplication
    @EnableEurekaClient
    @EnableFeignClients
    @RibbonClient(value="cloud-producer",configuration=RibbonConfig.class)
    public class ConsumerStarter {
        
        public static void main(String[] args) {
            SpringApplication.run(ConsumerStarter.class, args);
        }
        
        @Bean
        @LoadBalanced
        public RestTemplate restTemplate() {
            return new RestTemplate();
        }
    }

    我们添加了一个注解,表示启动Feign的接口代理.

    @RestController
    public class UserController {
    
        @Resource
        private UserFeign feign;
        
    
        
        @GetMapping("user/{id}")
        public User queryUser(@PathVariable("id") int id) {
            return feign.queryUserByid(id);
        }
    }

    现在我们调用微服务的时候,直接使用Feign接口就可以直接调用了.

  • 相关阅读:
    ios实例开发精品源码文章推荐
    Citrix 服务器虚拟化之二十七 XenApp6.5发布服务器桌面
    TOJ3651确定比赛名次
    TOJ3649欧拉回路
    强连通分量(LRJ训练指南)
    汉语-词语-体谅:百科
    汉语-词语-关心:百科
    汉语-词语-懒惰:百科
    汉语-词语-平静:百科
    汉语-词语-遗迹:百科
  • 原文地址:https://www.cnblogs.com/trekxu/p/10468115.html
Copyright © 2011-2022 走看看