FeignClient中name和url属性的作用说明

目录
  • name和url属性的作用
    • 定义
    • 场景
    • 解释
  • @FeignClient注解属性
    • vaule和name 其实是一个属性
    • 关于调用目前有两种

name和url属性的作用

定义

feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。

Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。

场景

通过feign调用Eureka上注册的服务,需要指定什么属性?

解释

  • name/value属性:这两个的作用是一样的,指定的是调用服务的微服务名称
  • url:指定调用服务的全路径,经常用于本地测试
  • 如果同时指定nameurl属性: 则以url属性为准,name属性指定的值便当做客户端的名称

@FeignClient注解属性

@FeignClient(value="run-product",fallback = ProductClientServiceFallBack.class)
//@FeignClient(name="runClient",url="localhost:8001")
public interface ProductClientService {}

vaule和name 其实是一个属性

鼠标点进去@FeignClient就发现他俩互相使用了别名:

@AliasFor("name")
String value() default "";
@AliasFor("value")
String name() default "";

关于调用目前有两种

1、接口提供方在注册中心。

如果服务提供方已经注册到注册中心了,那么name或者value的值为:服务提供方的服务名称。必须为所有客户端指定一个name或者value

@FeignClient(value="run-product",fallback = ProductClientServiceFallBack.class)

2、单独的一个http接口,接口提供方没有注册到注册中心。

@FeignClient(name="runClient11111",url="localhost:8001")

此处name的值为:调用客户端的名称。

以上两种方式都能正常调用。name可以为注册中心的实例名称,加上url属性时,name的值就与注册中心实例名称无关。至于url属性和name属性的关系请指导的大佬们留言呀。

  • 补充知识点:

1、调用时间设置。    

A服务调用B的接口。 B的接口如果处理时间长,导致连接超时。这时候要设置超时时间。默认是1秒。

#设置feign客户端超时时间(OpenFeign默认支持ribbon)
#ribbon:
#指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间
#  ReadTimeout: 5000
#指的是建立连接后从服务器读取到可用资源所用的时间
#  ConnectTimeout: 5000

2、接口日志处理

logging:
  level:
    # feign日志以什么级别监控哪个接口
    com.atguigu.springcloud.service.PaymentFeignService: debug

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

(0)

相关推荐

  • SpringCloud之@FeignClient()注解的使用方式

    目录 @FeignClient()注解的使用 @FeignClient标签的常用属性如下 SpringCloud 服务间互相调用 @FeignClient注解 我在FEIGN-CONSUMER 在FEIGN-CONSUMER 这是项目中的Controller层 @FeignClient()注解的使用 由于SpringCloud采用分布式微服务架构,难免在各个子模块下存在模块方法互相调用的情况.比如service-admin服务要调用service-card 服务的方法. @FeignClient

  • springboot FeignClient注解及参数

    一.FeignClient注解 FeignClient注解被@Target(ElementType.TYPE)修饰,表示FeignClient注解的作用目标在接口上 @FeignClient(name = "github-client", url = "https://api.github.com", configuration = GitHubExampleConfig.class) public interface GitHubClient { @Request

  • SpringCloud @FeignClient参数的用法解析

    目录 SpringCloud @FeignClient 参数详解 @FeignClient 注解常用参数 SpringCloud @FeignClient 参数详解 今天因为工作中遇到FeignClient一个奇葩的bug,后面仔细研究了,找出了原因,那么刚好对FeignClient 这个注解总结一下: 先看@FeignClient 源码:源码如下,本文最后面. 11个方法,常用方法说明如下 @FeignClient(name = "service-name", url = "

  • FeignClient中name和url属性的作用说明

    目录 name和url属性的作用 定义 场景 解释 @FeignClient注解属性 vaule和name 其实是一个属性 关于调用目前有两种 name和url属性的作用 定义 feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service. Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端. 场景 通过feign调用Eureka上注册的服务,需要指定什么属性? 解释 nam

  • 浅谈@FeignClient中name和value属性的区别

    目录 name和value属性的区别 name和url属性的作用 定义 场景 解释 name和value属性的区别 从源码可以得知,name是value的别名,value也是name的别名. 两者的作用是一致的,name指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现. name和url属性的作用 定义 feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service. Spr

  • package.json中homepage属性的作用详解

    Package.json 属性说明 name - 包名. version - 包的版本号. description - 包的描述. homepage - 包的官网 url . author - 包的作者姓名. contributors - 包的其他贡献者姓名. dependencies - 依赖包列表.如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下. repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上.

  • C/C++中派生类访问属性详解及其作用介绍

    目录 保护继承 派生类成员的访问属性 总结 保护继承 由 protected 声明的成员称为 "受保护的成员", 或简称 "保护成员". 从用户的角度来看, 保护成员等价于私有成员. 保护成员可以被派生类的成员函数引用. 派生类成员的访问属性 4 种访问属性: 公用的: 类内和类外都可以访问 受保护的: 类内可以访问, 类外不能访问, 下一层的派生类可以访问 私有的: 类内可以访问, 类外不能访问 不可访问的: 类内和类外都不能访问 继承方式 基类中的成员 访问属性

  • JavaScript中arguments.callee属性的作用与替换方案

    arguments.callee的作用 在函数内部,有两个特殊的对象:arguments 和 this.其中, arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,该属性是一个指针,指向拥有这个 arguments 对象的函数. 请看下面这个非常经典的阶乘函数 function factorial(num){ if (num <=1) { return 1; } else { return num * factorial(num-1) } } 定义阶乘函

  • 浅谈关于.vue文件中style的scoped属性

    本文介绍了.vue文件中style的scoped属性以及踩到的坑,具体如下: scoped可以实现style只作用于当前的.vue文件 <template> <div class="user"></div> </template> <script> </script> <style lang='less' scoped> .user { color:#333; } </style> 上面的文

  • Android 中clipToPadding 和 clipChildren区别和作用

    Android 中clipToPadding 和 clipChildren区别和作用 Android 关于 clipToPadding 和 clipChildren区别和作用对于这两个属性那也是很神奇, 1.对于clipToPadding 默认是true, 这个属性一般都是viewgrounp对象才会用到, 他的意思就是 对于padding 所占的尺寸大小也绘制 其他的item的view, 2.对于clipChildren 默认是true,这个属性是让子view不受父view大小的限制,可以超过

  • 详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)

    test.html <a href="javascript:void(0)" rel="external nofollow" onmouseover="testAsync()"> asy.js function testAsync(){ var temp; $.ajax({ async: false, //同步请求 type : "GET", url : 'tet.php', complete: function(

  • SpringBoot 中常用注解及各种注解作用

    本篇文章将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写 @RestController是@ResponseBody和@Controller的组合注解. @PathVaribale 获取url中的数据 看一个例子,如果我们需要获取Url=localhost:

  • ajax中设置contentType: "application/json"的作用

    最近在做项目交互的时候,刚开始向后台传递数据返回 415 ,后来百度添加了 contentType:"application/json" 之后返回400,然后把传输的数据格式改为json字符串就传输成功了,现在我们来看看 contentType:"application/json"的作用: 添加 contentType:"application/json"之后,向后台发送数据的格式必须为json字符串 $.ajax({ type: "p

随机推荐