【问题标题】:Rest Get: How to add "URL with Query Parameters" in Query Parameters of a URL?Rest Get:如何在 URL 的查询参数中添加“带有查询参数的 URL”?
【发布时间】:2020-06-05 17:05:48
【问题描述】:

我有如下要求:

 /paymenturl?ordernr=123&amount=234&ourOwnCallbackUrl=$api/receipt?contractid=3232&callbackurl=https://somthing.com&fallbackurl=https:something.com&notification=hit-hard
  1. 是否可以在查询参数中添加url? (callbackUrl)
  2. 是否可以将步骤 1 添加到查询参数的值中? (ourOwnCallbackUrl)
  3. 是否可以将步骤 2 中的步骤 1 添加到主 url? (/paymenturl)

问题基本上是如何在查询参数中添加另一个URL,并且可以进一步嵌套吗?

【问题讨论】:

  • 你可以用Base64对它进行endcode
  • @mhrsalehi:没有编码是不可能的,因为我们需要将它重定向到这个 url?编码还会导致前端进行一些解码并获取 url 并转发。直接做会不会有问题。

标签: java rest get query-string query-parameters


【解决方案1】:

你必须转义特殊字符(如&)我看到两种常见的方法:

  • 将其编码为百分比编码

    %20%2Fpaymenturl%3Fordernr%3D123%26amount%3D234%26ourOwnCallbackUrl%3D%24api%2Frceipt%3Fcontractid%3D3232%26callbackurl%3Dhttps%3A%2F%2Fsomthing.com%26fallbackurl%3Dhttps%3Asomething.com%26notification% 3Dhit-hard

  • 或者您可以创建一个完整的 DTO(数据传输对象)并使用请求正文从您的控制器发送/接收它。

【讨论】:

猜你喜欢
  • 2015-04-02
  • 2011-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-30
  • 1970-01-01
  • 2019-12-19
  • 2013-04-03
相关资源
最近更新 更多