【问题标题】:Cant send retrofit 2.0 multipart request with parameters with the same keys无法使用具有相同键的参数发送改造 2.0 多部分请求
【发布时间】:2016-09-12 22:14:08
【问题描述】:

我需要使用带有图像和一些键值参数的改造 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"

请帮忙,如何提出这样的要求。

【问题讨论】:

    标签: android retrofit


    【解决方案1】:

    好的,这个问题在新版本的改造库中得到了解决(在写这篇文章的时候是 2.1.0 版本)。此代码将正常工作并正确发送数据:

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

    谢谢。

    【讨论】:

    • 完美答案。
    猜你喜欢
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 2017-11-03
    • 1970-01-01
    • 2017-11-23
    相关资源
    最近更新 更多