I am handling
@GET("match-details/5-days")
fun callMatchDetails(@Query("competition_id[]", encoded = true) competitionIdList: List<String>
): Call<MatchDetailResponseModel>?
which is look like below url:
https://baseurl.com/match-details/5-days?competition_id[]=1588&competition_id[]=1589&competition_id[]=1592
How I can make it look like value in array bracket, as below:
https://baseurl.com/match-details/5-days?competition_id[0]=1588&competition_id[1]=1589&competition_id[2]=1592
Any answer or suggestions appreciated.
You can do that in three steps :
1- Use QueryMap instead of Query as follow:
@GET("match-details/5-days")
fun callMatchDetails(
@QueryMap(encoded = true) map: Map<String, Int>
): Call<MatchDetailResponseModel>?
2- Map your competition id list to Map<String,Int> as follow :
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- Send map to callMatchDetails fun and you will make it look like follow :
https://baseurl.com/match-details/5-days?competition_id[0]=123&competition_id[1]=134&competition_id[2]=156
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With