Play Framework重定向所有流量

时间:2014-06-30 20:41:08

标签: scala playframework

我正在慢慢地将REST API从Rails转换为Scala。我有一些使用游戏的方法,但其他人必须回到Rails服务器。

我希望所有请求都通过Play,但是如果它们尚未实现重定向。具体来说,如果请求的URL是play-app.com/api/v1/.*,则应将其重定向到rails-app.com/api/v1/.*,并使用URL和所有参数。我试过这条路:

GET /api/v1/*path

但现在我不知道如何处理它。

1 个答案:

答案 0 :(得分:3)

如果您的路线是

GET   /api/v1/*path                  controllers.Api.v1(path: String)

然后你的控制器功能看起来像这样:

object Api extends Controller { request =>
    val queryString: String = if(request.rawQueryString.nonEmpty) "?" + request.rawQueryString else ""

    def v1(path: String) = Action {
         TemporaryRedirect("rails-app.com/api/v1/" + path + queryString )
    }
}