码迷,mamicode.com
首页 > 其他好文 > 详细

Feign客户端实现RPC 调用

时间:2019-08-20 22:01:29      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:enable   中心   cloud   gap   depend   cli   pid   nts   wired   

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 客户端来访问了。。。

Feign客户端实现RPC 调用

标签:enable   中心   cloud   gap   depend   cli   pid   nts   wired   

原文地址:https://www.cnblogs.com/pickKnow/p/11385656.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!