gpt4 book ai didi

playframework - 仅在测试模式下运行某些 Controller ,用于 playframework

转载 作者:行者123 更新时间:2023-12-03 22:40:43 27 4
gpt4 key购买 nike

是否可以运行一些 Controller 路线仅在测试模式下?

单击链接时,我需要模拟一些响应。我将创建仅在运行 时可用的 Controller 和路由游戏测试 .

是否可以?

最佳答案

正如 Mike 所指出的,我博客中的代码确实向您展示了如何配置您的路由文件,以便在 Dev 或 Prod 模式下只有某些路由可用。所以...

%{ if (play.mode.isDev()) { }%
GET /route4 Application.noProd
GET /route5 Application.noProd
GET /route6 Application.noProd
%{ } }%

但是,这确实会阻止这些路由在 Prod 模式下工作,但它们不会排除 Controller 被访问。这样做的原因是,您很可能在您的路线文件底部有以下内容
*       /{controller}/{action}                  {controller}.{action}

这意味着我可以访问 Application.noProd使用 catch all 路由的操作,这将是以下 URL
/application/noprod

所以。如果你想隐藏你的路由和 Controller ,你有几个选择。
  • 您可以删除包罗万象的路线,以便除了您设置的特定路线之外没有其他条目。这确实意味着您需要为路由文件中的所有操作指定所有路由。
  • 其次,您可以检查 play.mode.isDev()在你的行动中,并调用badRequest()以防止访问。这将使这一点更加明显,但在编码中可能是 Not Acceptable 开销。
  • 关于playframework - 仅在测试模式下运行某些 Controller ,用于 playframework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8617877/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com