注释类型 FormBody


Request Form Body

该注解绑定只能绑定方法的参数。被该注解绑定的参数将被解析为表单字符串,并作为整个请求体或请求体的一部分随请求发送到服务端。

同时,请求的 Content-Type 自动被设置为 application/x-www-form-urlencoded

该注解有一下几种模式:

(1) 键值对模式:

          void send(@FormBody("username") String username, @FormBody("password") String password);
          
此模式的@FormBody注解可以修饰一个或多个参数,每个参数仅作为一个键值对。这些键值对最终会被合并成一个表单对象。

(2) 对象模式:

          void send(@FormBody UserInfo userInfo);
          
此模式的@FormBody注解可以修饰一个或多个自定义对象,但不能设置名称(value属性)以表明它不是一个键值对。被修饰的参数对象会被拆成一个个字段(这个对象的类中所有getter方法对应的字段), 所有这些字段将像键值对一样被合并成一个表单对象。

(3) Map模式:

          void send(@FormBody Map paramMap);
          
此模式的@FormBody注解可以修饰一个或多个Map对象,但不能设置名称(value属性)以表明它不是一个键值对。被修饰的参数对象会被拆成一个个键值对(Map中的所有有值的键值对), 所有这些键值对被合并成一个表单对象。

(4) 字符串模式:

          void send(@FormBody String body);
          
此模式的@FormBody注解可以修饰一个或多个String类型参数,但不能设置名称(value属性)以表明它不是一个键值对。 同时参数值也必须是一个合法的表单字符串。 被修饰的字符串参数将直接以文本形式添加到请求体中。
从以下版本开始:
1.5.0-BETA9
作者:
gongjun
  • 可选元素概要

    可选元素
    修饰符和类型
    可选元素
    说明
    默认值
    The filters will do some processing for the query value before sending request.
    键值对名称(可选参数)[同value]
    键值对名称(可选参数)[同name]
  • 元素详细资料

    • value

      @AliasFor("name") String value
      键值对名称(可选参数)[同name]

      有键值对名称时(有value值时),被该注解修饰的参数将被作为一个键值对合并到请求体中。

      没有键值对名称时(没有设value值时),被该注解修饰的参数将被作为一个对象,根据对象的属性拆成一个个键值对,然后合并到请求体中

      返回:
      键值对名称
      默认值:
      ""
    • name

      @AliasFor("value") String name
      键值对名称(可选参数)[同value]

      有键值对名称时(有value值时),被该注解修饰的参数将被作为一个键值对合并到请求体中。

      没有键值对名称时(没有设value值时),被该注解修饰的参数将被作为一个对象,根据对象的属性拆成一个个键值对,然后合并到请求体中

      返回:
      键值对名称
      默认值:
      ""
    • filter

      String filter
      The filters will do some processing for the query value before sending request.
      返回:
      filter names
      默认值:
      ""
    • defaultValue

      String defaultValue
      默认值
      返回:
      默认值
      默认值:
      ""