Retrofit2对查询值进行编码,即使编码= true

时间:2018-11-13 16:02:37

标签: kotlin retrofit2

使用Retrofit 2.4,我正在调用一个API,该API接收JSON对象作为查询字符串的一部分,例如/ list?filter = {“ columns”:“ a,b,c”,“ start”:“” ...}

我没有使用转换器,而只是使用杰克逊映射器将对象写为字符串。

fun getReport(@Query("filter", encoded = true) request: String)

但是改型是在不对方括号进行编码,但对所有引号进行编码,因此网址变为:

filter = {%22columns%22:...

这当然会引起调用问题。

想法?

1 个答案:

答案 0 :(得分:0)

在函数中使用QueryMap

@QueryMap(encodeNames = true) 

更多详细信息,请参见Annotation Type QueryMap