zoukankan      html  css  js  c++  java
  • SpringCloud学习笔记(六、SpringCloud Netflix Feign)

    目录:

    • feign简介
    • feign应用

    feign简介:

    feign是一款Netflix开源的声明式、模板化的http客户端,它可以更加便捷、优雅的调用http api;SpringCloud对Netflix的feign进行了增强,使其支持spring并整合了ribbon、eureka以提供负载均衡的http调用。

    feign应用:

    1、引入openfeign依赖

    1 <dependency>
    2     <groupId>org.springframework.cloud</groupId>
    3     <artifactId>spring-cloud-starter-openfeign</artifactId>
    4 </dependency>

    2、启动类加上feign注解(需要eureka的支持,所以此模块首先需要为eureka客户端)

    )第一种,针对类扫描feign api

    @EnableFeignClients(clients = {Xxx1.class, Xxx2.class})

    )第二种,针对包扫描feign api

    @EnableFeignClients(basePackages = {"com.xxx.xxx"})

    3、定义feign api

    feign api只需与模块的api保持一致就可以了

    )模块:

    1 @RestController
    2 @RequestMapping("/ad")
    3 public class AdApi {
    4 
    5     @GetMapping("/getUserAd/{account}")
    6     public String getUserAd(@PathVariable(name = "account") String account) {
    7         return "这是" + account + "的广告";
    8     }
    9 }

    )feign api:

    1 @FeignClient(name = "ad-model")
    2 public interface AdRemoteService {
    3 
    4     @GetMapping("/ad/getUserAd/{account}")
    5     String getUserAd(@PathVariable(name = "account") String account);
    6 }

    4、调用

    调用方式很简单,就像调用方法一样就可以了

     1 @Autowired
     2 private AdRemoteService adRemoteService;
     3 
     4 @GetMapping("/login/{account}/{password}")
     5 public String login(@PathVariable String account, @PathVariable String password) {
     6     UserDTO userDTO = USER_INFO.get(account);
     7     if (userDTO == null) {
     8         return "FAILED";
     9     }
    10 
    11     boolean result = userDTO.getPassword().equalsIgnoreCase(password);
    12     if (!result) {
    13         return "FAILED";
    14     }
    15 
    16     // 调用广告接口
    17     String adResult = adRemoteService.getUserAd(account);
    18     System.err.println(adResult);
    19 
    20     return "SUCCESS";
    21 }
  • 相关阅读:
    yii2美化url
    Android 百度地图API 定位 导航
    辛星浅谈PHP的混乱的编码风格
    html5非常火,他究竟与html4有何差别?
    Cocos2d-x 3.0心得(01)-图片载入与混合模式
    解读BOM与COM
    HDU 1718 Rank counting sort解法
    汉语转拼音pinyin4j
    UVALive-6656-Watching the Kangaroo(二分)
    thinPHP中多维数组的遍历
  • 原文地址:https://www.cnblogs.com/bzfsdr/p/11661968.html
Copyright © 2011-2022 走看看