@Documented @ParamLifeCycle(value=FormBodyLifeCycle.class) @Retention(value=RUNTIME) @Target(value=PARAMETER) public @interface FormBody
该注解绑定只能绑定方法的参数。被该注解绑定的参数将被解析为表单字符串,并作为整个请求体或请求体的一部分随请求发送到服务端。
同时,请求的 Content-Type 自动被设置为 application/x-www-form-urlencoded
该注解有一下几种模式:
(1) 键值对模式:void send(@FormBody("username") String username, @FormBody("password") String password);此模式的@FormBody注解可以修饰一个或多个参数,每个参数仅作为一个键值对。这些键值对最终会被合并成一个表单对象。
void send(@FormBody UserInfo userInfo);此模式的@FormBody注解可以修饰一个或多个自定义对象,但不能设置名称(value属性)以表明它不是一个键值对。被修饰的参数对象会被拆成一个个字段(这个对象的类中所有getter方法对应的字段), 所有这些字段将像键值对一样被合并成一个表单对象。
void send(@FormBody Map paramMap);此模式的@FormBody注解可以修饰一个或多个Map对象,但不能设置名称(value属性)以表明它不是一个键值对。被修饰的参数对象会被拆成一个个键值对(Map中的所有有值的键值对), 所有这些键值对被合并成一个表单对象。
void send(@FormBody String body);此模式的@FormBody注解可以修饰一个或多个String类型参数,但不能设置名称(value属性)以表明它不是一个键值对。 同时参数值也必须是一个合法的表单字符串。 被修饰的字符串参数将直接以文本形式添加到请求体中。
public abstract String filter
Copyright © 2020. All rights reserved.