首页 > 其他分享 >FeignClient注释

FeignClient注释

时间:2022-10-08 18:23:14浏览次数:51  
标签:FeignClient feign 调用 服务 接口 注释 注解

@FeignClient()注解的使用

由于SpringCloud采用分布式微服务架构,难免在各个子模块下存在模块方法互相调用的情况。比如service-admin服务要调用service-card 服务的方法。

  • @FeignClient()注解就是为了解决这个问题的。
  • @FeignClient()注解的源码要求它必须在Interface接口上使用。( FeignClient注解被@Target(ElementType.TYPE)修饰,表示FeignClient注解的作用目标在接口上)

@RequestLine与其它请求不同,只需要简单写请求方式和路径就能达到请求其它服务的目的。

@FeignClient(value = "feign-server",configuration = FeignConfig.class)  //需要一个配置文件
public interface TestService {
    @RequestLine("/test")    //对应请求方式和路径
    String feign(@RequestBody UserDO userDO);
}

最终访问的路径将是http://feign-server/test

启动类添加@EnableFeignClients

 

 

@FeignClient标签的常用属性如下

  • value: 服务名
  • name: 指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现
  • url: url一般用于调试,可以手动指定@FeignClient调用的地址
  • decode404:当发生http 404错误时,如果该字段位true,会调用decoder进行解码,否则抛出FeignException
  • configuration: Feign配置类,可以自定义Feign的Encoder、Decoder、LogLevel、Contract
  • fallback: 定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现@FeignClient标记的接口
  • fallbackFactory: 工厂类,用于生成fallback类示例,通过这个属性我们可以实现每个接口通用的容错逻辑,减少重复的代码
  • path: 定义当前FeignClient的统一前缀

此外还要求服务的启动类要有@EnableFeignClients 注解才能使Fegin生效。

标签:FeignClient,feign,调用,服务,接口,注释,注解
From: https://www.cnblogs.com/zhougongjin/p/16769806.html

相关文章

  • 字面量、注释、变量、数据类型、数据类型转换
    字面量固定的值称为字面量数据类型单行注释#注释内容多行注释"""注释内容"""变量在程序运行时,能储存计算结果或能表示值的抽象概念#特征变......
  • 官方完整HL7 ECG-XML例子及注释翻译(3)
    编者:李国帅时间:2019-7-4背景:存储心电图数据的格式有很多种,比如HL7,Dicom,EDF,GDF等,其中HL7最是简单,直观,使用Xml的方式保存数据。以前为了显示HL7数据从官网下载了一个很全的ae......
  • python注释
    下面就Python中的注释做一些演示:单号注释,多行注释,文档注释1.单行注释#ThisisasinglelinecommentinPython 使用#号,后面的字符串是单行注释内容2.多行注释......
  • vue引入组件注释
    组件引入进来分为三步走:①引入组件,②注册组件,③使用组件<template><view><uni-badgetext="abc":inverted="true"></uni-badge><!--3.使用组件--></......
  • 【笨方法学python】ex2 - 注释符
    代码如下:点击查看代码#-*-coding:utf-8-*-#Acomment,thisissoyoucanreadyourprogramlater.#Anythingafterthe#isignoredbypython.#一个注释......
  • 手写Promise——基于es6的Promise实现(含详细注释)
      1.PromiseA+规范官方英文地址:​​https://promisesaplus.com/​​中文翻译可参考​​http://malcolmyu.github.io/malnote/2015/06/12/Promises-A-Plus/​​2.代码......
  • 注释、标识符和关键字、数据类型及其拓展
    注释、标识符和关键字publicclassHelloWorld{publicstaticvoidmain(String[]args){//单行注释//输出一个Hello,World!System.ou......
  • Visual Studio批量删除所有注释
    ——上方工具栏—搜索—在文件中替换(或者Command+Shift+H)——勾选上​​正则表达式​​搜索,查找//.*\n,替换为空即可......
  • 字符串+转义字符+注释
    字符串由双引号引起了来的值叫字符串#include<stdio.h>intmain(){//`由双引号引起来的值叫字符串`"asdfag";"hello";"";//空字符串return0;}intmain(){cha......
  • 注释
    注释类型//单行注释//“/*回车”/*注释*//*多行注释多行注释多行注释*///JavaDoc:文档注释/**注释*///“/**回车”/***@Author麸炒......