如何在生产模式下安全地使用“包罗万象”?

Posted

技术标签:

【中文标题】如何在生产模式下安全地使用“包罗万象”?【英文标题】:How to safely use a "catch all" in production mode? 【发布时间】:2011-11-22 09:34:02 【问题描述】:

Play Framework 有文件路由。该文件列出了应用程序所需的所有路由。 默认情况下,路由文件有一行:

# Catch all
*       /controller/action                  controller.action

如何在生产模式下安全地使用它?我需要把这行注释掉吗?

【问题讨论】:

【参考方案1】:

是的,理想情况下,您应该在生产中对其进行注释。事实上,我也会在开发中评论它,这样你会注意到任何缺失的路线。

【讨论】:

【参考方案2】:

如果你仍然想在开发中使用它(为了更快的开发,漂亮的错误消息,......),你可以这样做:

#if play.mode.isDev()
  *   /controller/action      controller.action
#/if

【讨论】:

它看起来很酷,但我认为这是个坏主意。只有在切换到生产环境时才会发现错误。 很公平,但您应该在功能测试中检查您的路线。 您的功能测试仍然有效!你毕竟在测试模式下运行;)

以上是关于如何在生产模式下安全地使用“包罗万象”?的主要内容,如果未能解决你的问题,请参考以下文章

基本算法——包罗万象

Alexa - 包罗万象

ASP.Net Core razor 页面处理程序成为包罗万象的路线

在 PHP 中创建一个包罗万象的处理程序?

Bootstrap关联select菜单,包罗万象的知识点

nginx server_name 通配符或包罗万象