Grails RestfulController的动作和资源

时间:2014-09-16 18:35:07

标签: rest grails

我现在有点困惑,这应该有效。文件说: 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

感谢。

1 个答案:

答案 0 :(得分:4)

扩展RestfulController时,您负责在UrlMappings.groovy内设置资源映射。与您的Domain类中的@Resource注释不同。

例如:

// UrlMappings.groovy
"/books"(resources:"book")