我现在有点困惑,这应该有效。文件说: http://grails.org/doc/latest/guide/single.html#extendingRestfulController
9.1.5.1扩展RestfulController超类
开始这样做的最简单方法是创建一个新的控制器 对于扩展grails.rest.RestfulController super的资源 类。例如:
class BookController extends RestfulController {
static responseFormats = ['json', 'xml']
BookController() {
super(Book)
}
}
要自定义任何逻辑,您只需覆盖相应的操作即可。 下表提供了操作名称和名称 它们映射到的URI:
HTTP方法URI控制器操作
GET /书籍索引
GET / books / create创建POST / books save
GET / books / $ {id}显示
GET / books / $ {id} /编辑编辑 PUT / books / $ {id}更新
DELETE / books / $ {id}删除
我已经创建了BookController以及相关的Book域类,但我注意到我无法通过记录的uri访问(Bootstrap添加书籍)书籍:
的 /书籍/ $ {ID}
我可以使用非复数域名和操作来访问它:
的 /书/显示/ 1
当我尝试将@Resource(uri =' / books')添加到Book域类时,它们也没有帮助。 格兰不再支持他吗?我是否必须使用动作动词?
我正在使用grails 2.4.2
感谢。
答案 0 :(得分:4)
扩展RestfulController
时,您负责在UrlMappings.groovy
内设置资源映射。与您的Domain类中的@Resource
注释不同。
例如:
// UrlMappings.groovy
"/books"(resources:"book")