我们的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
}
关键是参数apiVersion
未在控制器操作的params
中定义。
如果在每个资源中定义参数,则正确设置参数:
group ("/v2") {
"/documents"(resources: 'document') {
"/meta"(resource: 'documentInfo', includes: ['show', 'update']) {
apiVersion = 2
}
apiVersion = 2
}
"/folders"(resources: 'folder') {
apiVersion = 2
}
}
如何在组级别上正确定义参数?
答案 0 :(得分:0)
解决方法将使用命名空间...虽然我尝试在组级别定义它不会工作,但你可以尝试一下。但是在资源级别定义甚至可以用于嵌套资源。
group ("/v2") {
"/documents"(resources: 'document', namespace:'v2') {
"/meta"(resource: 'documentInfo', includes: ['show', 'update'])
}
"/folders"(resources: 'folder', , namespace:'v2')
}