Как определить диапазон URL для плагина Grails

У меня есть приложение Grails, которое должно быть дополнено несколькими собственными реализованными плагинами Grails. Я импортирую их в BuildConfig.groovy, как и другие плагины.

Контроллер каждого плагина может быть вызван под корневым URL:

http://localhost/application/<ctrlPlugin1>
http://localhost/application/<ctrlPlugin1>/<endpoint1>
http://localhost/application/<ctrlPlugin2>

В этот момент имена контроллеров в plugin1 должны отличаться от названий в plugin2.

Как определить диапазон URL-адресов, чтобы все конечные точки плагина находились под специальным URL-путем, а имена контроллеров в плагинах могли быть равны?

http://localhost/application/<plugin1>/<ctrlPlugin1>
http://localhost/application/<plugin1>/<ctrlPlugin1>/<endpoint1>
http://localhost/application/<plugin2>/<ctrlPlugin2>

1 ответ

Решение

Вы можете использовать пространства имен контроллера для достижения чего-то подобного, добавив static namespace = 'ctrlPlugin1' в каждом контроллере соответствующего плагина.

Другим способом достижения этого будет создание CrtlPluginXUrlMappings.groovy который отображает их соответствующие контроллеры под определенным базовым путем, например, так:

class CrtlPluginXUrlMappings {
  "/crtlPluginX/customers" resources: "customer"
  "/crtlPluginX/orders" resources: "order"
}
Другие вопросы по тегам