如何在重定向中传递表单url编码的参数

时间:2018-11-23 13:26:33

标签: scala playframework

我需要在Action中进行重定向,还需要传递一些url编码的参数,如下所示

 HTTP/1.1 302 Found
 Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA
           &state=xyz

我如何在Play中做到这一点?

到目前为止,我的Action方法中是:

Found("https://client.example.com/cb")

但是我看不到任何用于添加代码和状态参数的方法。我该怎么做呢?我必须使用“ application / x-www-form-urlencoded”格式将这些参数添加到重定向URI的查询组件中。

还是我只是将所有内容添加到uri中

Found("https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz")

我认为可能会有一些特殊的方法来添加查询参数。

1 个答案:

答案 0 :(得分:0)

在源代码中,Found实际上是对以下内容的调用:

Redirect(url, Map.empty, status)

因此,使自己的Redirect将是答案:

Redirect("https://client.example.com/cb",
  Map("code" -> Seq("SplxlOBeZQQYbYS6WxSbIA"), 
      "state" -> Seq("xyz")), 
      FOUND)