【发布时间】:2018-08-19 16:17:56
【问题描述】:
我在routes 文件中定义了 300 个条目,如下所示:
GET /url001 MyClass.myMethod
这适用于诸如 http://localhost:9000/url001 之类的 URL
现在,我需要为这 300 个链接定义两个环境,用于生产和测试。链接如下:
http://localhost:9000/prod/url001
用于生产(参见路径中的prod)
和
http://localhost:9000/test/url001
用于测试(参见路径中的test)。
我想在routes 中拥有一组链接,如何在 Play 中实现?我知道我可以在路径中定义一个变量,比如path/:var,但是我需要的是设置一个相对URL。
注意:一些用户可能正在使用prod,而另一些用户可能同时使用test
【问题讨论】:
-
您需要同时拥有
/test和/prod还是只是环境之间的配置问题?如果你只是在测试和生产环境之间有不同的路径,你可以使用play.http.context,比如添加play.http.context="/test" in yourconf/application.conf`。在此处查看如何为每个环境使用不同的配置文件:playframework.com/documentation/2.6.x/… -
他们必须同时生活,一些用户可能在使用
prod,而另一些用户可能同时使用test -
为什么不部署到不同的环境中,一个用于测试,一个用于生产。
-
因为测试环境不会用于实际测试系统。它适用于商业智能应用程序,用户将在其中测试他们构建的查询,然后再将它们迁移到生产环境。从系统的角度来看,
prod和test都是生产环境。从用户的角度来看,prod和test是不同的环境。 -
你可以这样定义,对吧:
GET /:environment/url001 MyClass.myMethod
标签: scala playframework playframework-2.0 playframework-2.5