Grails2.x-如何为一个URL映射保留文件扩展名?

Grails2.x-如何为一个URL映射保留文件扩展名?,grails,Grails,在我的Grails应用程序中,我有一个URL映射,如: /section/$title/object/$id ID不是一个数字。它们是可以包含的字符串。Grails正在删除第一个之后的所有内容,因此如果我有/section/books/object/affx.1.2.10,那么控制器方法只接收affx 我知道可以全局关闭文件扩展名处理,但这不是我想要的。我需要保留此URL的完整ID字符串。如何为这一URL映射执行此操作,或者为Grails何时删除文件扩展名添加一些逻辑?向URL映射添加约束部分,

在我的Grails应用程序中,我有一个URL映射,如:

/section/$title/object/$id

ID不是一个数字。它们是可以包含
的字符串。Grails正在删除第一个
之后的所有内容,因此如果我有
/section/books/object/affx.1.2.10
,那么控制器方法只接收
affx


我知道可以全局关闭文件扩展名处理,但这不是我想要的。我需要保留此URL的完整ID字符串。如何为这一URL映射执行此操作,或者为Grails何时删除文件扩展名添加一些逻辑?

向URL映射添加约束部分,例如:

"/test/$id"(controller: test, action: 'index') {
    constraints {
        id(matches: /.+/)
    }
}

我试过了,控制器方法仍然只接收
affx
。您是否尝试扩展regexp以提取$id中的点?在Grails2.3中,您还可以尝试:
“/$controller/$action?/$id”(.${format}”)“
并在$format变量中获取其余部分。