gpt4 book ai didi

grails - 如何为某些操作禁用默认URL映射

转载 作者:行者123 更新时间:2023-12-02 14:40:01 24 4
gpt4 key购买 nike

我正在使用Grails 3.1.12版本。

我想为操作禁用一些默认的URL映射,以便手动管理它们。例如,给定 Controller :

class MyController {

myAction() {
render('Hello')
}
}

默认情况下,此操作映射到 my/myAction,但是我想禁用此映射,并使用UrlMappings.groovy中定义的自定义控件:
static mappings {

"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}

'/myCustomAction'(controller: 'my', action: 'myAction')
}

第一次创建Grails项目时,默认情况下会提供 /$controller/$action...映射,并提供了我仍然希望用于其他操作的默认约定,但是我想排除 myAction的默认映射。我尝试使用UrlMappings.groovy中的 excludes设置:
static excludes = ['/my/myAction']

但是,端点 my/myAction继续响应默认映射。

如何实现所需的行为?

最佳答案

路由my/myAction由默认的/$controller/$action映射生成。这样,您将需要编辑该映射的constraints部分以排除您的 Controller ,这样的方法应该可以工作(虽然有些丑陋):

"/$controller/$action?/$id?(.$format)?"{
constraints {
controller(validator: { return it != 'my'})
}
}

关于grails - 如何为某些操作禁用默认URL映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42273783/

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