У меня есть микросервис 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 перенаправления является динамическим. Это может быть то, что пользователь доставляет мне на службу.
Всего 1 ответ
Это сработало для меня в Scala:
package controllers
import play.api.mvc.{Action, Controller}
object essai extends Controller{
def toGoogle() = Action {
Redirect("http://google.com", 302)
}
}