【问题标题】:Sending pct (%) in query param in rest API [duplicate]在rest API的查询参数中发送pct(%)[重复]
【发布时间】:2019-05-19 14:46:02
【问题描述】:

我有一个休息 API,终点是这样的:

/private/items/query

我将 id 作为查询参数,所以 url 就像:

http://localhost:8081/private/items/query?id=item1234

现在,当项目包含 % 符号时,它无法正确地作为我的 API 中的查询参数,例如如果是item%21,我收到的是item!

如何解决这个问题?

【问题讨论】:

    标签: java spring rest


    【解决方案1】:

    % 符号通常用于对查询字符串中的特殊字符进行编码,例如+ 在作为查询字符串发送时被编码为 %2B

    如[此处][1]所述:

    因为百分号(“%”)字符用作指示符 百分比编码的八位字节,它必须被百分比编码为“%25” 八位字节用作 URI 中的数据。

    在您的情况下,您需要发送%2521,它将在后端解码为%21,因为%25 在url 解码时是%。您可以将此 [link][2] 用于 url 编码目的。 [1]:https://www.rfc-editor.org/rfc/rfc3986#section-2.4 [2]:https://www.urlencoder.org/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-14
      • 2022-11-29
      • 2021-04-21
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      相关资源
      最近更新 更多