java - 如何为 get 方法编写数组的改造查询?
问题描述
我正在处理
@GET("match-details/5-days")
fun callMatchDetails(@Query("competition_id[]", encoded = true) competitionIdList: List<String>
): Call<MatchDetailResponseModel>?
这看起来像下面的网址:
我如何使它看起来像数组括号中的值,如下所示:
任何答案或建议表示赞赏。
解决方案
您可以通过三个步骤来做到这一点:
1-使用QueryMap而不是 Query 如下:
@GET("match-details/5-days")
fun callMatchDetails(
@QueryMap(encoded = true) map: Map<String, Int>
): Call<MatchDetailResponseModel>?
2- 将您的比赛 id 列表映射到 Map<String,Int> 如下:
val ids = mutableListOf(123, 134, 156)
val map = mutableMapOf<String,Int>()
ids.forEachIndexed { index, id ->
map["competition_id[$index]"] = id
}
//mutableMapOf: {competition_id[0]=123, competition_id[1]=134, competition_id[2]=156}
3-将地图发送到 callMatchDetails 有趣,您将使其如下所示:
https://baseurl.com/match-details/5-days?competition_id[0]=123&competition_id[1]=134&competition_id[2]=156
推荐阅读
- java - 检查字符串是否包含Java中某些关键字以外的任何单词
- c# - 如何在不复制 C# 的情况下将结构数组元素提取到变量中?
- python - 如何向特定频道发送消息?不和谐/蟒蛇
- unity3d - 一种以不同方式编写的着色器函数会产生不同的结果。(团结 2017)
- sql-server - 谷歌云计算引擎 - SQL Web 2017 缺少 ssis 安装
- c# - 无法在kafka c#中使用具有不同主题和分区的不同kafka服务器从多个kafka代理获取数据
- python - python中的两个数字Sum程序O(N ^ 2)
- php - 如何更正此代码 PHP 语法错误
- javascript - 如何在 Jest 中模拟 Promise 解析函数
- nginx - 证书管理器因等待 dns-01 质询传播而失败:无法确定权威名称服务器