iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringCloud @FeignClient参数的用法解析
  • 940
分享到

SpringCloud @FeignClient参数的用法解析

2024-04-02 19:04:59 940人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录SpringCloud @FeignClient 参数详解@FeignClient 注解常用参数springCloud @FeignClient 参数详解 今天因为工作中遇到Fe

springCloud @FeignClient 参数详解

今天因为工作中遇到FeignClient一个奇葩的bug,后面仔细研究了,找出了原因,那么刚好对FeignClient 这个注解总结一下:

先看@FeignClient 源码:源码如下,本文最后面。

11个方法,常用方法说明如下


@FeignClient(name = "service-name", url = "${feign.urls.service-name:}", fallback =apiFallBack.class,configuration = Interceptor.class)
  • 1.value,name 这两个就同一个意思:对应的是调用的微服务的服务名,对用服务发现、走网关调用,这个很关键。
  • 2.url 这是访问地址,可以直接提供给外部调用,也可以直接写如192.168.1.11:8800/applicationName
  • 3.fallback fallbackFactory

就给@FeignClient注解设置fallback属性,并且回退类要继承@FeignClient所注解的接口

ApiFallBack类拿出去单独作为一个类的话,我们就得在该类上添加注解@Component

如果fallback默认优先级比fallfactory优先级高。所以二者都存在的话,会访问fallback的回退方法。

这里不做演示。

那么fallback和fallfactory有什么区别呢


@FeignClient(name = "service-name", fallbackFactory = HystrixClientFallbackFactory.class)
protected interface HystrixClient {
@RequestMapping(method = RequestMethod.GET, value = "/test")
           Hello iFailSometimes();
 }
@Component
static class HystrixClientFallbackFactory implements FallbackFactory<HystrixClient> {
@Override
public HystrixClient create(Throwable cause) {
return new HystrixClientWithFallBackFactory() {
@Override
public Hello iFailSometimes() {
return new Hello("fallback; reason was: " + cause.getMessage());
}
};
}
}

fallback和fallfactory区别

  • fallback 只是重写了回退方法。
  • fallfactory 层面比较深,因为它用线程抛出了异常,可以看到底层具体问题。


@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FeignClient {
 
   
   @AliasFor("name")
   String value() default "";
 
   
   @Deprecated
   String serviceId() default "";
 
   
   @AliasFor("value")
   String name() default "";
   
   
   String qualifier() default "";
 
   
   String url() default "";
 
   
   boolean decode404() default false;
 
   
   Class<?>[] configuration() default {};
 
   
   Class<?> fallback() default void.class;
 
   
   Class<?> fallbackFactory() default void.class;
 
   
   String path() default "";
 
   
   boolean primary() default true;
 
}

@FeignClient 注解常用参数

怕以后又忘记,总结下目前项目中实际用到的 @FeignClient 注解中的参数,如下:


@FeignClient(value = "annoroad-alpha",  url = "${annoroad.ms.annoroad-alpha.url}")
public interface UserFacade {
    @PostMapping(value = "/user/detail")
    UserDto detail(@RequestParam("id") long id);
}

value

  • value 等同于 name

url

  • 一般用于调试,可以手动指定 @FeignClient 调用的地址

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: SpringCloud @FeignClient参数的用法解析

本文链接: https://www.lsjlt.com/news/154994.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringCloud @FeignClient参数的用法解析
    目录SpringCloud @FeignClient 参数详解@FeignClient 注解常用参数SpringCloud @FeignClient 参数详解 今天因为工作中遇到Fe...
    99+
    2024-04-02
  • SpringCloud之@FeignClient()注解的使用方式
    目录@FeignClient()注解的使用@FeignClient标签的常用属性如下SpringCloud 服务间互相调用 @FeignClient注解我在FEIGN-CONSUME...
    99+
    2024-04-02
  • SpringCloud全面解析@FeignClient标识接口的过程
    目录Feign的作用正常在SpringMVC的ControllerSpringCloud将@FeignClient标识的接口让大家明白在使用过程中需要注意以及可以灵活拓展的地方Fei...
    99+
    2024-04-02
  • 如何解析sql_slave_skip_counter 参数的用法
    如何解析sql_slave_skip_counter 参数的用法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这里浅析一下sql_slave_skip_coun...
    99+
    2023-06-06
  • SpringCloud中hystrix参数怎么用
    这篇文章主要介绍SpringCloud中hystrix参数怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、hystrix参数使用方法通过注解@HystrixCommand的commandProperties去...
    99+
    2023-06-05
  • 参数校验Spring的@Valid注解用法解析
    参数校验Spring的@Valid注解 @Valid 注解通常用于对象属性字段的规则检测。 以新增一个员工为功能切入点,以常规写法为背景,慢慢烘托出 @Valid 注解用法详解。 那...
    99+
    2024-04-02
  • SpringCloud Stream使用解析
    目录SpringCloudStream下面用RabbitMQ来说明使用!案例之消息驱动之生产者案例之消息驱动消费者测试补充说明SpringCloudStream 官方定义Sprin...
    99+
    2024-04-02
  • Python 解析参数的三种方法
    Let's go!我们以机器学习当中的调参过程来进行实践,有三种方式可供选择。第一个选项是使用 argparse,它是一个流行的 Python 模块,专门用于命令行解析;另一种方法是读取 JSON 文件,我们可以在其中放置所有超参数;第三种...
    99+
    2023-05-14
    代码 Python 参数
  • 解决SpringCloud Feign传对象参数调用失败的问题
    SpringCloud Feign传对象参数调用失败 不支持GET请求方式 使用Apache HttpClient替换Feign原生httpclient @...
    99+
    2024-04-02
  • jQuery中$.ajax()方法参数解析
    $.ajax()方法的参数可以分为以下几个部分:1. 必需参数:- url: 请求发送的地址。- type: 请求发送的方式,可以是"GET"、"POST"等。- data: 发送到服务器的数据,可以是一个对象或字符串。2. 可选参数:...
    99+
    2023-08-11
    jQuery
  • 使用FeignClient调用POST表单Body内没有参数问题
    目录FeignClient调用POST表单Body没有参数FeignClient参数问题使用Get方式调用服务提供者使用Post方式调用服务提供者三种情况(无参、单参、多参)@Req...
    99+
    2024-04-02
  • C/C++中可变参数的用法详细解析
    可变参数即表示参数个数可以变化,可多可少,也表示参数的类型也可以变化,可以是int,double还可以是char*,类,结构体等等。可变参数是实现printf(),sprintf()...
    99+
    2022-11-15
    C 可变参数
  • sklearn常用的API参数解析:sklearn.linear_model.LinearRegression
    本篇内容介绍了“sklearn常用的API参数解析:sklearn.linear_model.LinearRegression”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!...
    99+
    2023-06-01
  • FeignClient实现接口调用方式(不同参数形式)
    目录FeignClient接口调用1、无参2、字符串参数3、对象参数feign接口参数遇到的bug服务接收方接口解决方案FeignClient接口调用 无参字符串参数对象参数 拟定客...
    99+
    2024-04-02
  • numpy函数常用参数和用法的分析
    解析numpy函数的常用参数与用法 numpy是Python中常用的数值计算库,提供了丰富的数值运算函数和数据结构,能够方便快捷地进行数组运算和数值计算。本文将解析numpy函数的常用参数与用法,并提供具体的代码示例。 一、nu...
    99+
    2024-01-26
    参数 用法 数组
  • C#命令行参数解析库System.CommandLine的使用方法
    这篇文章主要介绍了C#命令行参数解析库System.CommandLine的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。命令行参数平常在日常的开发过程中,会经常用到...
    99+
    2023-06-15
  • VueTreeselect 参数options的数据转换-参数normalizer解析
    目录VueTreeselect 参数options的数据转换-参数normalizerVueTreeselect 参数options的数据转换解析VueTreeselect 参数op...
    99+
    2024-04-02
  • Python实现解析参数的三种方法详解
    目录先决条件使用 argparse使用 JSON 文件使用 YAML 文件最后的想法今天我们分享的主要目的就是通过在 Python 中使用命令行和配置文件来提高代码的效率 Let&#...
    99+
    2024-04-02
  • SpringCloud 如何使用feign时的复杂参数传递
    Feign传参注意 最近在用SpringCloud尝试重构以前的项目,使用Feign客户端组件来调用微服务,经常出现参数传不过去变成null的问题,网上查了一下发现feign在参数上...
    99+
    2024-04-02
  • SpringCloud怎么使用feign时的复杂参数传递
    这篇文章给大家分享的是有关SpringCloud怎么使用feign时的复杂参数传递的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Feign传参注意最近在用SpringCloud尝试重构以前的项目,使用Feign客...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作