播放 2 - 在路由文件中访问 conf 属性
Play 2 - Access conf property in routes file
在旧版本的游戏中,我们可以在 application.conf
中定义 somevar 的路由中编写以下代码
%{
somevar = play.Play.configuration.getProperty("somevar")
}%
GET /${somevar} controllers........
所以我们可以在路由中访问 somevar 的值
谁能帮我访问来自 application.conf
的路线中的属性
首先,我认为从 routes
文件访问 application.conf
中的变量绝对没有任何好处。在 routes
文件或 .conf
文件中更改路由值有什么区别。在这两种情况下,您都需要更改值并重新启动服务器以使更改生效。那么交易是什么?
无论如何...开始吧!
控制器:
public static Result getVersion(double var) {
if (var != ConfigFactory.load().getDouble("version")) {
return redirectTo();
}
return ok("version -> " + var);
}
public static Result redirectTo() {
return redirect(controllers.routes.Application.getVersion(ConfigFactory.load().getDouble("version")));
}
路线:
GET /redirect controllers.Application.redirectTo()
GET /:v/get controllers.Application.getVersion(v: Double)
application.conf:
版本 = 1.2
如果您尝试访问旧端点,您将始终被重定向到 application.conf 中指定的版本。
在旧版本的游戏中,我们可以在 application.conf
中定义 somevar 的路由中编写以下代码%{
somevar = play.Play.configuration.getProperty("somevar")
}%
GET /${somevar} controllers........
所以我们可以在路由中访问 somevar 的值 谁能帮我访问来自 application.conf
的路线中的属性首先,我认为从 routes
文件访问 application.conf
中的变量绝对没有任何好处。在 routes
文件或 .conf
文件中更改路由值有什么区别。在这两种情况下,您都需要更改值并重新启动服务器以使更改生效。那么交易是什么?
无论如何...开始吧!
控制器:
public static Result getVersion(double var) {
if (var != ConfigFactory.load().getDouble("version")) {
return redirectTo();
}
return ok("version -> " + var);
}
public static Result redirectTo() {
return redirect(controllers.routes.Application.getVersion(ConfigFactory.load().getDouble("version")));
}
路线:
GET /redirect controllers.Application.redirectTo()
GET /:v/get controllers.Application.getVersion(v: Double)
application.conf:
版本 = 1.2
如果您尝试访问旧端点,您将始终被重定向到 application.conf 中指定的版本。