注释类型 Body


Request Body

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

该注解有一下几种模式:

(1) 键值对模式:

          void send(@Body("username") String username, @Body("password") String password);
          
此模式的@Body注解可以修饰一个或多个参数,每个参数仅作为一个键值对。这些键值对最终会被合并成一个URL Encoded表单格式的字符串或是一个JSON对象。 合并成哪种形式取决于请求的contentType属性或Content-Type请求头。

(2) 对象模式:

          void send(@Body UserInfo userInfo);
          
此模式的@Body注解可以修饰一个或多个自定义对象,但不能设置名称(value属性)以表明它不是一个键值对。被修饰的参数对象会被拆成一个个字段(这个对象的类中所有getter方法对应的字段), 所有这些字段将像键值对一样被合并成一个URL Encoded表单格式的字符串或是一个JSON对象。 同样,合并成哪种形式取决于请求的contentType属性或Content-Type请求头。

(3) Map模式:

          void send(@Body Map paramMap);
          
此模式的@Body注解可以修饰一个或多个Map对象,但不能设置名称(value属性)以表明它不是一个键值对。被修饰的参数对象会被拆成一个个键值对(Map中的所有有值的键值对), 所有这些键值对被合并成一个URL Encoded表单格式的字符串或是一个JSON对象。 同样,合并成哪种形式取决于请求的contentType属性或Content-Type请求头。

(4) 字符串模式:

          void send(@Body String body);
          
此模式的@Body注解可以修饰一个或多个String类型参数,但不能设置名称(value属性)以表明它不是一个键值对。 被修饰的字符串参数将直接以文本形式添加到请求体中。
从以下版本开始:
2020-08-10 16:51
作者:
gongjun
  • 元素详细资料

    • 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
      默认值:
      ""
    • partContentType

      String partContentType
      子项Content-Type
      返回:
      子项Content-Type
      默认值:
      ""
    • defaultValue

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