跳到主要内容

【2】Feign原生注解

文章目录

  • 注解介绍
  • 使用案例
    • @RequestLine
    • 概述
    • 案例
  • @Param
    • 概述
  • @Headers
    • 概述
    • 案例
  • @QueryMap
    • 概述
    • 案例
  • @HeaderMap
    • 概述
    • 案例
  • @Body
    • 概述
    • 案例

注解介绍

之前介绍过,Feign 是通过接口+注解的方式声明一个HTTP 请求。

Feign 注解定义了接口和底层客户端应之间该如何工作的关系。Feign 的默认定义了以下注解:

| 注解 | 作用位置 | 用法 |

| --- | --- | --- | | @RequestLine | 方法 | 为请求定义HttpMethod和UriTemplate。 花括号{expression}中的值使用其相应的带@Param注解的参数解析。 | | @Param | 参数 | 定义一个模板变量,其值将用于解析相应的表达式模板,通过作为注解值提供的名称。如果缺少值,它将尝试从字节码方法参数名称中获取名称(如果代码是用-parameters标志编译的)。 | | @Headers | 方法、类型 | 定义一个HeaderTemplate。使用带@Param注释的值来解析相应的Expressions. 在 Type上使用时,模板将应用于每个请求。 | | @QueryMap | 参数 | 范围 定义一个Map名称-值对或 POJO,以扩展为查询字符串。 | | @HeaderMap | 参数 | 范围 定义一个Map名称-值对,扩展为Http Headers | | @Body | 方法 | 定义 Template,类似于UriTemplateand、 HeaderTemplate,它使用带@Param注释的值来解析相应的Expressions. |

使用案例

@RequestLine

概述

RequestLine是请求行的意思,我们知道在HTTP 中,请求行一般由以下几部分构成。