我想创建一个Grails项目的“Shell”,它在插件中托管功能,URL由插件名称隔离。
因此,Shell项目中使用的 Blog 插件的网址可能如下所示:/shell/blog/viewBlogPost
但我实际看到的是,所有插件的控制器都表现得好像它们是shell项目本身的一部分:/shell/viewBlogPost
有没有办法声明Blog插件的控制器只能在URL中的/blog
路径下访问?
答案 0 :(得分:1)
似乎Grails插件无法执行此操作。问题是它们缺乏封装和可组合性,导致工件冲突:
我打开了一个问题:GRAILS-9300
Grails团队有tentative plans通过使用插件名称作为工件的命名空间来解决这个问题。
答案 1 :(得分:0)
是的,你的插件可以注册URL映射,就像你的“shell”应用程序的其余部分一样。
答案 2 :(得分:0)
您可以通过在插件中创建名称以UrlMappings结尾的文件(例如BlogPluginUrlMappings.groovy
)在插件中声明UrlMappings,这些文件将合并到主应用程序的UrlMappings中。您可以设置以/blog/
开头的映射来路由到插件的控制器。