无法使用相同键名发送带参数的Retrofit 2.0多部分请求

7

我需要使用retrofit 2.0发送一个多部分请求,其中包含图像和一些键值参数:"key1" - "parameter1""key2" - "parameter2"等。但是有些参数具有相同的键:"somepar[]" - "text1""somepar[]" - "text2"等。在这种结构中,我无法使用@PartMap

@Multipart
@POST(myUrlPart)
Call<ClassEntity> myRequest(@Header("Authorization") String authHeader,
                                @Part("image\"; filename=\"image.png\"") RequestBody image,
                                @PartMap Map<String, RequestBody> params); 

由于Map不能存储具有相同键的多个值。而且我无法使用


@Part("somepar[]") List<String> mylist  

或者

@Part("somepar[]") String[] myArray  

因为它会发送键值对"somepar[]" - "{"1","2","3"}",而不是"somepar[]" = "1""somepar[]" = "2""somepar[]" = "3"

请帮忙,如何进行这样的请求。

1个回答

2

好的,这个问题已经在retrofit库的新版本中解决了(目前写这篇文章时是2.1.0版本)。下面的代码将可以正确地工作并正确地发送数据:

@Part("somepar[]") List<String> mylist  

感谢您的选择。

完美的答案。 - Lokesh Desai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接