【问题标题】:RetroFit Complex Query ParametersRetroFit 复杂查询参数
【发布时间】:2016-04-06 03:21:04
【问题描述】:

我需要从 RetroFit 生成以下查询字符串。我知道我可以很容易地重复查询元素。只需对其进行格式化,以便每个元素都采用assessment[id][points]=parameter

的形式
//Assume Assessment contains the id and the parameter
@PUT("url")
Call putElements(@Query(???) Assessment... assessmentIds);

示例输出: https://baseurl.com/url?assessment[id1][points]=3&assessment[id2][points]=5

RetroFit 中是否有一种简洁的方法来完成此任务?

【问题讨论】:

    标签: android retrofit2


    【解决方案1】:

    是的,您正在寻找@QueryMap

    你会这样使用它:

    // sender
    Map<String,String> parameters = new HashMap<>();
    parameters.add("assessmentid1points", "3");
    parameters.add("assessmentid2points", "5");
    parameters.add("key3", "value3");
    
    yourObject.putElements(parameters);
    
    // receiver interface
    @PUT("url")
    Call putElements(@QueryMap Map<String,String> parameters);
    

    我已经写了一些关于改造 1 和 2 的教程,如果你想查看它们,here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 2017-12-31
      • 2019-04-25
      • 1970-01-01
      相关资源
      最近更新 更多