当前位置: 首页 > news >正文

织梦网站地图生成赣州人才网下载

织梦网站地图生成,赣州人才网下载,wordpress 森林,班级网页设计图片FeignClient这个注解,已经封装了远程调用协议。在springboot的开发,或者微服务的开发过程中,我们需要跨服务调用,或者调用外部的接口,我们都可以使用FeignClient。 一、FeignClient介绍 FeignClient 注解是 Spring Cl…

 @FeignClient这个注解,已经封装了远程调用协议。在springboot的开发,或者微服务的开发过程中,我们需要跨服务调用,或者调用外部的接口,我们都可以使用FeignClient。

 

一、@FeignClient介绍

@FeignClient 注解是 Spring Cloud 中的一个组件,它是基于 Netflix Feign 实现的。@FeignClient 注解可以帮助我们定义和实现服务之间的 RESTful 接口,使得服务之间的调用更加方便和可靠。@FeignClient 注解可以用于客户端的 API 接口定义,它可以将一个 HTTP API 接口转化为一个 Java 接口,从而使得我们可以像调用本地方法一样调用远程服务。

注解源码与解析
 

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface FeignClient {@AliasFor("name")String value() default "";String contextId() default "";@AliasFor("value")String name() default "";@DeprecatedString qualifier() default "";String[] qualifiers() 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;}

1.1 value属性
具有可选协议前缀的服务的名称。名称的同义词。无论是否提供url,都必须为所有客户端指定名称。可以指定为属性键,例如:${propertyKey}。

1.2 contextId属性
这将被用作bean名称,而不是名称(如果存在),但不会用作服务id。

1.3 name属性
和value作用相同

1.4 qualifier属性
已弃用qualifier()。如果qualifier()和 qualifiers() 都存在,我们将使用后者,除非 qualifiers() 返回的数组为空或仅包含null或空白值,在这种情况下,我们将首先返回qualifier() ,如果也不存在,则返回默认值=contextId+“FeignClient”。

1.5 qualifiers属性
如上,已说明

1.6 url属性
绝对URL或可解析的主机名(协议是可选的)

1.7 decode404属性
404是否应该解码而不是抛出虚假异常

1.8 configuration属性
用于外部客户端的自定义配置类。可以包含组成客户端的部分的覆盖@Bean定义,例如feign.codec.Decoder, feign.codec.Encoder, feign.Contract.

1.9 fallback属性
指定的外部客户端接口的回退类。回退类必须实现由该注释注释的接口,并且是有效的spring bean。

1.10 fallbackFactory属性
为指定的外部客户端接口定义回退工厂。回退工厂必须生成回退类的实例,这些实例实现由FeignClient注释的接口。回退工厂必须是有效的spring bean。

1.11 path属性
所有方法级映射使用的路径前缀。

1.12 primary属性
是否将外部代理标记为主bean。默认为true。

二、常见的FeignClient接口的几种方式总结

@FeignClient(name = "myhuaweicloud", url = "https://xxx.com/")
public interface HuaweicloudClient {/*** 获取access-token接口*/@PostMapping("v1/xxx/enterprises/access-token")public Map<String,Object>  getAccessToken(@RequestBody Map<String, Object> params);/*** 获取实况地址统一接口*/@PostMapping("/v2/xxx/devices/channels/media/live-connections")public Map<String, Object> liveConnections(@RequestHeader(name = "Access-Token",required = true) String Token,@RequestBody Map<String, Object> params);/*** 获取通道列表* @param map* @return*/@GetMapping("/v1/xxx/channels")public Map<String, Object> channels( @RequestHeader(name = "Access-Token",required = true) String Token,@RequestParam("device_id")String deviceId,@RequestParam("offset") Integer offset,@RequestParam("limit")Integer limit );/*** 获取设备列表* @param map* @return*/@GetMapping("/v1/xxx/devices")public Map<String, Object> devices( @RequestHeader(name = "Access-Token",required = true) String Token,@RequestParam("device_name") String deviceName,@RequestParam("offset") Integer offset,@RequestParam("limit")Integer limit);}

1、我们使用@FeignClient(name = "myhuaweicloud", url = "https:/xxx.com/")

对接口进行注解。

接口中封装的方法有同通过

@PostMapping

@GetMapping 进行注解。

这两种请求方式对应。使用@PostMapping 注解,表示接口需要通过post进行请求,使用@GetMapping表示接口需要通过get请求。

2、看一下常见的参数传递方式

@RequestBody Map<String, Object> params

以body的方式传递json参数。

@RequestHeader(name = "Access-Token",required = true) String Token

请求头中传递参数

@RequestParam("device_name") String deviceName

已键值的方式拼接参数和值进行传递

http://www.yayakq.cn/news/252737/

相关文章:

  • 麦包包的网站建设越秀手机网站建设
  • 网站开发毕业答辩演讲稿范文奥鹏网页设计与网站建设
  • 网站建设在会计里算什么资产常用于做网站的软件
  • 国内ui网站有哪些淘宝网站的建设目的是什么意思
  • 网站源码怎么上传如何自己做一个app软件
  • php网站开发技术论文室内设计公司取名字
  • 旅游企业网站建设工作的通知微营销推广
  • 营销型网站是通过对网免流网站开发
  • 做网站沈阳本地discuz二次开发
  • 代理网站有什么用百度6大核心部门
  • 网站开发服务属于什么行业网站底部流程
  • 佛山南海区建设局网站文化传播公司网站模版
  • 什么免费推广网站好wordpress全图水印插件
  • 手机模板网站模板下载网站做网站负责人有法律风险吗
  • 广西网站建设seo优化做封面电脑网站
  • 医疗器械网站建设方案行知智网站建设
  • 杭州化工网站建设推广网站制作
  • 昆明网站排名优化公司哪家好做网站的公司哪家最好
  • 网站移动端怎么做的越秀公司网站建设
  • 做网站排名费用多少seo服务合同
  • 温州网站制作网站网站页面设计报价表
  • 商超网站零基础网站开发设计
  • 视频网站后台管理系统个人网站设计摘要
  • 网站策划书基本内容官方网站建设专业公司
  • 梨园网站建设o2o手机网站建设难
  • h5制作开发在哪儿青岛网站快速排名优化
  • 连云港网站建设价格ui设计师是什么意思
  • 跨境电商网站建设方案小制作 手工 简单
  • 工程监理行业为什么做网站网页首页设计模板图片
  • 烟台网站制作专业机械加工网站哪里找