我使用Retrofit 2向服务器发送API调用,但是使用参数我需要发送必须从API响应中排除的字符串数组。
我需要发送像deviceToken,feedType这样的参数,并发送排除字符串数组,因此我的带有排除字符串的网址应如下所示:
http://test.com?test[]=1&test[]=2&test[]=3
当然还有其他缺失的要求。
看看这行代码:
params.put("exclusions", Arrays.deepToString(arr));
这是我的代码:
@GET("enquiry/user-feed/")
Call<UserFeed> userFeed(@QueryMap Map<String, String> params);
HashMap<String, String> params = new HashMap<String, String>();
params.put("deviceToken", getDeviceToken());
params.put("feedType", feedType[0]);
params.put("feedOrder", order);
params.put("feedLimit", String.valueOf(limit));
Log.d("TAG", "exclusions: : "+ Arrays.deepToString(arr));
params.put("exclusions", Arrays.deepToString(arr));
答案 0 :(得分:0)
问题与改造无关。您有一个浮动订单,因为java.util.HashMap不保证订单。您应该使用LinkedHashMap来获取固定元素顺序。
答案 1 :(得分:0)
使用LinkedHashMap
LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
params.put("deviceToken", getDeviceToken());
params.put("feedType", feedType[0]);
params.put("feedOrder", order);
params.put("feedLimit", String.valueOf(limit));