2

我们的 Grails 2.5 Web 应用程序具有 REST API。

我们需要启动 API 的新版本,因此创建了一个组,UrlMappings.groovy如下所示:

group ("/v2") {

   "/documents"(resources: 'document') {
     "/meta"(resource: 'documentInfo', includes: ['show', 'update']) 
   }

   "/folders"(resources: 'folder')

   apiVersion = 2
}

问题是该参数apiVersionparams在控制器操作中定义。

如果在每个资源中定义了该参数,则该参数已正确设置,如下所示:

group ("/v2") {

   "/documents"(resources: 'document') {
     "/meta"(resource: 'documentInfo', includes: ['show', 'update']) {
       apiVersion = 2
     }
     apiVersion = 2
   }

   "/folders"(resources: 'folder') {
     apiVersion = 2
   }

}

如何在组级别正确定义参数?

4

1 回答 1

0

解决方法将使用命名空间......虽然我尝试在组级别定义它不会奏效,但你可以试一试。但是在资源级别定义甚至适用于嵌套资源。

group ("/v2") {

   "/documents"(resources: 'document', namespace:'v2') {
     "/meta"(resource: 'documentInfo', includes: ['show', 'update']) 
   }

   "/folders"(resources: 'folder', , namespace:'v2')
}
于 2018-04-30T11:14:02.270 回答