Android 改造 - 发送 POST 个参数的动态数量
Android Retrofit - send dynamic number of POST parameters
我需要将动态数量的 POST 参数值发送到端点(可能有 1 个,也可能有 50 个)。所有这些都将具有相同的键值。
这可能吗?我似乎无法弄清楚如何创建包含类似内容的 RequestBody,即使我尝试以纯文本构建它也是如此。
我已经为它准备了字符串列表,但我只是不知道如何创建这种东西。当我输入大量具有相同键值的 post 表单参数时,端点在 PostMan 中工作,因此端点已正确设置。我只是不确定 Retrofit 是否支持这种东西,而且我似乎找不到任何相关信息。
我目前正在使用 Java 而不是 Kotlin。想法?
您也可以像这样将多个字段参数传递给您的请求:
@FormUrlEncoded
@POST("/oauth/access_token")
Call<YourResponseObject> sendData(
@FieldMap Map<String, String> params
);
地图可以采用可变数量的参数。
因此您可以像这样传递数据:
/*
map = { "field1_key"="value1", "field2_key"="value2", "field3_key"="value3", ...}
*/
retrofit().create(YourInterface.class).sendData(mapOfFields)
p.s: retrofit()
是一种方法,returns 一个 Retrofit
实例可以使用。
我需要将动态数量的 POST 参数值发送到端点(可能有 1 个,也可能有 50 个)。所有这些都将具有相同的键值。
这可能吗?我似乎无法弄清楚如何创建包含类似内容的 RequestBody,即使我尝试以纯文本构建它也是如此。
我已经为它准备了字符串列表,但我只是不知道如何创建这种东西。当我输入大量具有相同键值的 post 表单参数时,端点在 PostMan 中工作,因此端点已正确设置。我只是不确定 Retrofit 是否支持这种东西,而且我似乎找不到任何相关信息。
我目前正在使用 Java 而不是 Kotlin。想法?
您也可以像这样将多个字段参数传递给您的请求:
@FormUrlEncoded
@POST("/oauth/access_token")
Call<YourResponseObject> sendData(
@FieldMap Map<String, String> params
);
地图可以采用可变数量的参数。
因此您可以像这样传递数据:
/*
map = { "field1_key"="value1", "field2_key"="value2", "field3_key"="value3", ...}
*/
retrofit().create(YourInterface.class).sendData(mapOfFields)
p.s: retrofit()
是一种方法,returns 一个 Retrofit
实例可以使用。