播放路由语法以忽略 slug 的一部分

2024-03-16

我们想要的基本上是这样的:

/foo/*                 controllers.FooController.foo

然而这不起作用。

我们找到了以下解决方法:

/foo/*ignore           controllers.FooController.foo(ignore)

但这使得该方法的代码controllers.FooController.foo有点丑。有一个更好的方法吗?


看一遍代码here https://github.com/playframework/Play20/blob/master/framework/src/routes-compiler/src/main/scala/play/router/RoutesCompiler.scala#L156,路由器无法在不指定的情况下处理“slug”部分identifier...解析器组合器没有将其声明为可选,并且map (^^)显然是按原样使用它。

如果它不会引起其他问题,即模式将隐藏所有其他路由,因为它在文件中定义得更高(甚至最糟糕,包括在内),那么它可能是一个很好的功能请求。

如果我们看的话,这看起来像是故意做的here https://github.com/playframework/Play20/blob/master/framework/src/routes-compiler/src/main/scala/play/router/RoutesCompiler.scala#L345,我们可以发现动态参数不能被分配默认值——事实上,在这种情况下我们会陷入我刚才提到的情况:-/。

我的第一个建议是告诉你使用ignore as an Option[String]以及将其设置为的操作定义None(而不是一个空的String因为它更具表现力)。 我的第二个想法是激发您想知道这种情况是否真的相关,因为它很容易出错并且可能隐藏更多问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

播放路由语法以忽略 slug 的一部分 的相关文章

随机推荐

  • 如何在 Razor 中进行 Active Directory 身份验证 (cshtml)

    我正在用 Razor 做一个简单的网站 目前 我可以使用基于数据库的身份验证 如下所示 在 App Start html中 WebSecurity InitializeDatabaseConnection db connection use
  • ASP .Net 文本框 Textchanged 事件

    我有一个网页 我在页面中显示表格中的记录 比如说学生 我查询所有学生并将他们显示在网格中 我想使用文本框来过滤 datagridview 结果 例如 如果用户在文本框中键入 a 网格将仅显示姓名中包含 a 的学生 我想在编辑文本框的同时刷新
  • VSIX newtonsoft 不在包中 (VS>15.5) 抑制包

    我们有针对 vsix 项目的解决方案 直到 Visual Studio 15 4 版软件包都是使用 newtonsoft json dll 生成的 但是从该版本开始 newsoft 就被排除在软件包之外 据我所知 这是因为 Microsof
  • R / Python / Julia 中 Matlab 的类型转换函数相当于什么

    相当于Matlab的什么typecastR 中的函数 在Python中 在朱莉娅 Matlab的typecast函数的描述如下 typecast http www mathworks com help matlab ref typecast
  • 打字稿中的 GUID / UUID 类型

    我有这个功能 function getProduct id string return some product 其中 id 实际上是 GUID Typescript 没有 guid 类型 是否可以创建类型GUID手动 function g
  • 如何将 2 个部分放入 1 个段(使用 ld 脚本)

    我有以下链接器脚本 SECTIONS arora exec free space 4399531 text rodata data rel ro local arora data free space ADDR arora exec fre
  • 设置 connect-flash 中间件以供 Passport 使用

    我想访问我的护照策略在回调中指定的消息 如下所示 done null false message No such user 到目前为止我发现这些消息可以通过传递选项来显示failureFlash true进入passport authent
  • Marshmallow PermissionHelper 的 Android Robolectric 单元测试

    我想学习 Robolectric 以便将其用于 Android Marshmallow 应用程序的单元测试 我写了一个PermissionHelper使用一些方法可以使权限处理更容易一些 为了开始对该类进行单元测试 我尝试测试最简单的方法
  • 如何使用 Perl 将带有 -- 的 SQL 注释转换为 #?

    UPDATE 这就是有效的方法 fgrep ircl include sql 我有各种带有 注释的 SQL 文件 我们迁移到最新版本的 MySQL 但它讨厌这些注释 我想用 替换 我正在寻找一种递归的 就地替换的单行代码 这就是我所拥有的
  • pyparsing 和换行符

    我刚开始pyparsing我有换行问题 我的语法是 from pyparsing import newline LineEnd Literal n leaveWhitespace minus Literal plus Literal lpa
  • 将字符串解析为整数抛出 NullpointerException

    Hy 我想将字符串解析为整数 字符串类似于系列的格式 SXXEXXX 守则 应该增加情节 喜欢 S01E01 gt S01E02 另 S01E100 gt S01E101 Code String s episodes get episode
  • pip:从特定目录卸载包

    我使用以下命令将包安装到特定的本地目录中pip install t
  • Three.js 与实例 - 如果没有 FrustumCulling = false 则无法使其工作

    我正在使用 Three js 和实例化 如这个例子 https threejs org examples webgl buffergeometry instancing html 但我遇到了其他人报告的同样问题 对象被随机剪切并不断从相机中
  • 导航时片段生命周期重叠

    我有一个Activity具有多个应用程序Fragments通过使用导航组件进行切换 当我在两个片段之间切换时onCreate and onDestroy 方法似乎有重叠 因此 当片段访问相同的全局对象时 我很难编写初始化和清理片段的代码 导
  • 与杰克逊一起收集未知财产

    我正在使用 Jackson 从 JSON 创建 Java 对象 假设我有一个像这样的 JSON 字符串 a a b b c c 还有一个像这样的 pojo JsonIgnoreProperties ignoreUnknown true pu
  • 获取视图的边距

    如何从活动中获取视图的边距值 视图可以是任何类型 经过一番搜索后 我找到了填充视图的方法 但在 Margin 上找不到任何内容 有人可以帮忙吗 我尝试过这样的事情 ViewGroup LayoutParams vlp view getLay
  • slickgrid 标题的 Colspan 和 rowspan

    我只是想知道是否有一种方法可以为标题提供 colspan rowspan 并具有多个标题行 网格提供了一个辅助标题行 您可以用它来做任何您需要做的事情 检查here https github com mleibman SlickGrid w
  • 数据流中的值错误:GCS 位置无效:无

    我正在尝试从 GCS 存储桶加载数据并将内容发布到 pubsub 和 bigquery 这些是我的管道选项 options PipelineOptions project project temp location gs dataflow
  • 在 angularjs 中格式化日期和时区

    使用 angularjs 1 2 26 我无法将日期输入格式化为所需的时区 这是一个示例 http plnkr co edit CxCqoR3Awcl1NFrCZYjx p preview http plnkr co edit CxCqoR
  • 播放路由语法以忽略 slug 的一部分

    我们想要的基本上是这样的 foo controllers FooController foo 然而这不起作用 我们找到了以下解决方法 foo ignore controllers FooController foo ignore 但这使得该