我正在慢慢地将REST API从Rails转换为Scala。我有一些使用游戏的方法,但其他人必须回到Rails服务器。
我希望所有请求都通过Play,但是如果它们尚未实现重定向。具体来说,如果请求的URL是play-app.com/api/v1/.*,则应将其重定向到rails-app.com/api/v1/.*,并使用URL和所有参数。我试过这条路:
GET /api/v1/*path
但现在我不知道如何处理它。
答案 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 )
}
}