我有一个现有的域,控制器,视图(为后者自动生成),它在浏览器中按预期工作。 如果我有一个... / user / show / 1或... / user / show的URL,它也适用于卷曲,即我使用违反REST原则的动作。 所以,我已添加到URLMappings文件
"/rest/user/$id?"(resource: "user")
使用自动生成的控制器。 现在使用curl和... / rest / user / 1而不是... / rest / user - 它运行show方法而不是index方法。但是...... /用户确实去索引并返回一个列表。 虽然浏览器继续工作,但我注意到这些URL属于其余/用户类型。
所以我感觉我还没有真正理解这一点。我可以在URLMappings文件中有两个指向同一位置的规则吗?根据Grails 2.4.4文档,没有id的url会使用index()方法.... / rest / user不是 - 它去show()。
我有什么作品,但我很确定我做得不对。
此致 约翰
答案 0 :(得分:0)
我认为grails会为您的域创建Restful UserController。但是,如果您已经拥有UserController,则使用您自己的控制器。你必须使它成为RESTFul。请查看9.1.5.1 Extending the RestfulController super class
还尝试创建urlmapping你的控制器manaully。