【问题标题】:Cannot redirect to external url无法重定向到外部 url
【发布时间】:2019-04-03 05:33:12
【问题描述】:

我有一个 scala play 微服务,我正在尝试重定向到一个外部 url。但是我有问题,因为重定向 url 被附加到服务的域中。我的代码是:

Redirect("www.google.com", 302)

但是当我在浏览器中运行我的控制器方法时,它会尝试重定向到这个 url

http://localhost:9000/www.google.com

它抱怨告诉我在路由器中没有用

定义端点
Action Not Found

GET /www.google.com

如何让它重定向到 www.google.com?

更新

我已经设法让它工作如下:

如下设置路线

GET  /google    controllers.Default.redirect(to = "http://google.com")

在控制器中我将重定向更改为:

Redirect("google", 302)

我不确定这个解决方案的优缺点是什么。重定向到外部 URL 应该如何在 Play 中工作?这对我也不起作用,因为我不想在端点中编码。对于我的用例,重定向 url 是动态的。它可以是用户为我的服务提供的任何东西。

【问题讨论】:

标签: scala playframework playframework-2.0


【解决方案1】:

这在 Scala 中对我有用:

package controllers

import play.api.mvc.{Action, Controller}

object essai extends Controller{
  def toGoogle() = Action {
    Redirect("http://google.com", 302)
  }

}

【讨论】:

  • 该方法在哪里定义?哪个 API?
  • 这是Java!!我已经说过我的应用程序是 Scala 的。
  • 您在路由文件中定义了什么?
  • 好的,对我有用。那么把“www.google.com”和http://google.com放在Redirect方法里有什么区别呢?
  • GET /v1/google controllers.essai.toGoogle()
猜你喜欢
  • 2016-02-28
  • 2017-12-11
  • 2012-01-10
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
  • 2019-10-23
  • 2015-02-14
相关资源
最近更新 更多