zoukankan      html  css  js  c++  java
  • Feign客户端实现RPC 调用

    1,springcloud 中支持http调用的两种方式,RestTemplate,Feign客户端

    2,Feign 客户端是一个声明式(注解方式)http 远程调用工具

    3,实现方式如下:

    第一步:

    例如member 服务需要调用order 服务,采用feign 客户端调用的方式

    member 服务中添加依赖:

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

    在member 服务中,定义feign 接口:

    @FeignClient(name = "app-aiyuesheng-order") :代表这个接口是调用 app-aiyuesheng-order(eureka 中注册服务的别名) 这个服务中的getOrder的接口

    @FeignClient(name = "app-aiyuesheng-order")
    public interface OrderFeign {
    
        @RequestMapping("/getOrder")
        public String getOrder();
    }

    第二步:controller 中直接引入即可

    @RestController
    public class IndexMemberController {
    
        @Autowired
        private OrderFeign orderFeign;
    
        @RequestMapping("/getOrder")
        public String getOrder() {
            String res = orderFeign.getOrder();
            return res;
        }
    }

    第三步:启动类中加入@EnableFeignClients

    @SpringBootApplication
    @EnableEurekaClient
    @EnableFeignClients
    public class App {
        public static void main(String[] args) {
            SpringApplication.run(App.class, args);
        }
    }

    order 服务中,要有这个getOrder的具体实现:

    @RestController
    public class IndexOrderController {
    
        @RequestMapping("/getOrder")
        public String getOrder(){
            return "获得订单成功";
        }
        
    }

    依次将注册中心,member 服务,order 服务启动就可以通过feign 客户端来访问了。。。

  • 相关阅读:
    JavaWeb 之 XML 约束
    JavaWeb 之 XML 基础
    Java 之 方法引用
    Java 之 Stream 流
    Java 之 常用函数式接口
    Java 之 函数式编程
    Java 之 函数式接口
    Java 之 JDBCTemplate
    Java 之 数据库连接池
    Java 之 JDBC
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11385656.html
Copyright © 2011-2022 走看看