Android Retrofit:如何在URL中添加动态值且去除&符号
解决Retrofit生成URL的参数拼接问题
你当前的写法会让Retrofit把search和title识别为两个独立的查询参数,因此自动用&分隔,导致生成不符合预期的URL。要实现search=title=value的格式,需要把title=value整体作为search参数的取值,具体修改如下:
修改后的代码
@GET("contents") suspend fun getProgrammes( @Query("search") searchQuery: String )
调用示例
调用接口时,传入拼接好的查询字符串:
getProgrammes("title=rouge")
这样生成的URL就会是https://api.ocs.fr/apps/v2/contents?search=title=rouge,完全符合你的需求。
如果想避免在调用处手动拼接,也可以封装一个调用方法:
// 给你的ApiService写扩展函数 fun YourApiService.getProgrammesByTitle(title: String) = getProgrammes("title=$title")
内容的提问来源于stack exchange,提问作者Mourad Barkati
相关产品推荐
相关产品推荐

