Как определить диапазон 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"
}