首页 > 解决方案 > 如何在改造中修复包含 $ 的查询参数

问题描述

我有一个查询参数,它需要一个 $,当我添加带有转义字符的 $ 时,它被转换为 %24

@GET("/ghi/abc/def(FieldId={FieldId},ContentId={ContentId})")
fun getUserGroup(
    @Header("authorization") token: String
    ,@Path("FieldId") fieldId: Long,
     @Path("ContentId") contentId: Long
    , @Query("\$filter") filter: String
    , @Query("\$skip") skip: String
    , @Query("\$top") top: String
    , @Query("\$count") count: Boolean

/ghi/abc/def(FieldId=22206,ContentId=346488)?%24filter=contains(tolower(Value),tolower('qwerty'))&%24skip=0&$top=2&%24count=true

标签: androidkotlinretrofit2

解决方案


这并没有错。

%24 是 $ 的 Url 编码字符。

一些特殊字符被替换为一些其他字符,称为 HTTP URL 编码。

服务器知道它并解码它将正确处理请求。


推荐阅读