我有一个实例,我需要将多个相同的命名参数传递给服务器(数据数组)。如何使用Retrofit添加多个相同的/数组参数?
改变它是不可能的。
http://test.com?test[]=1&test[]=2&test[]=3
我如何用RetroFit完成此操作?我发现你可以传递值的映射,但这并不能解决问题,因为密钥都是完全相同的。
任何帮助将是伟大的...真的希望有一个干净的方式/解决方法,否则我将需要使用另一个API库,并做一个项目重构。
我有一个实例,我需要将多个相同的命名参数传递给服务器(数据数组)。如何使用Retrofit添加多个相同的/数组参数?
改变它是不可能的。
http://test.com?test[]=1&test[]=2&test[]=3
我如何用RetroFit完成此操作?我发现你可以传递值的映射,但这并不能解决问题,因为密钥都是完全相同的。
任何帮助将是伟大的...真的希望有一个干净的方式/解决方法,否则我将需要使用另一个API库,并做一个项目重构。
从1.4.0开始的改造增加了将数组或列表作为@Field
或@Query
参数发送的功能。
New: @Query and @EncodedQuery now accept List or arrays for multiple values.
New: @Field now accepts List or arrays for multiple values.
源代码中的相关行可以在这里找到:https://github.com/square/retrofit/pull/377/files#diff-e552fa8d902af2d67bfdc6362c246f56L190 – loeschg
任何想法如何解决与多部分中的部分参数类似的问题可以解决? –
他们如何得到编码我想知道?我会看看上面提到的拉取请求。 –
我使用改装:1.9.0,做http://test.com?test[]=1&test[]=2&test[]=3的一种方式是这样的
void test(@Query("test[]") ArrayList<String> values);
是否使用改装1.4 +?它看起来像数组被添加到一个字段,但我还没有尝试过。 '*新增功能:@Field现在接受List或多个值的数组.' '*新功能:@Query和@EncodedQuery现在接受多个值的List或数组。' – daentech
您是对的。几个小时前发现。如果你做出答案,我会将其标记为解决方案。 – loeschg
我不会称之为奇怪。 html复选框和选择多个控件都会像这样对表单进行编码。 – CaptRespect