1

我想创建一个 Grails 项目的“外壳”,该项目在插件中托管功能,URL 按插件名称分隔。

因此,Shell 项目中使用的博客插件的 URL可能如下所示:/shell/blog/viewBlogPost

但我实际上看到的是所有插件的控制器都表现得好像它们是 shell 项目本身的一部分:/shell/viewBlogPost

有没有办法声明博客插件的控制器只能在 /blogURL 中的路径下访问?

4

3 回答 3

1

似乎 Grails 插件无法做到这一点。问题是它们缺乏封装性和可组合性,导致工件冲突:

  • 来自插件的 URL 路由只是简单地合并在一起,不能嵌套
  • 控制器没有命名空间
  • 服务没有命名空间

我打开了一个问题:GRAILS-9300

Grails 团队已经初步计划在 2.2 中解决这个问题,方法是使用插件名称作为工件的命名空间。

于 2012-10-10T13:48:46.637 回答
0

是的,您的插件可以像“shell”应用程序的其余部分一样注册 URL 映射。

于 2012-07-25T20:18:07.073 回答
0

您可以通过在插件中创建一个名称以 UrlMappings 结尾的文件(例如BlogPluginUrlMappings.groovy),在插件中声明 UrlMappings,这些文件将合并到主应用程序的 UrlMappings 中。您可以设置从/blog/路由到插件控制器的映射。

于 2012-10-09T01:22:47.480 回答