2016-07-26 38 views
0

我正在使用Grails 3.1.9和rest-api配置文件。 创建模型和控制器(通过grails CLI)并启动应用程序之后。 我不能邮差/卷曲等创建后..Grails 3.1.9:POST未被识别

如果我尝试调用直接保存方法,如:

http://localhost:8080/mymodel/create 

一切工作正常。但是,如果我尝试通过POST调用它,save()方法将永远不会被调用(索引是默认操作)。

p.s.我在我的控制器上有这个:

static allowedMethods = [save: "POST", update: "PUT", delete: "DELETE"] 

为什么会发生这种情况?

+0

一种解决方法是可行的,通过params.getRequest()过滤getMethod(),但... –

回答

1

您应该通过POST调用save()方法,而不是create(),它通常只用于显示已创建元素的窗体视图。因此,而不是执行

curl -H "Content-Type: application/json" -X POST -d '{"foo":"bar"}' http://localhost:8080/mymodel/create 

使用:

curl -H "Content-Type: application/json" -X POST -d '{"foo":"bar"}' http://localhost:8080/mymodel/save 

当然,如果你使用得当,而不是http://localhost:8080/mymodel/save URL映射你应该使用简单的http://localhost:8080/mymodel

+0

谢谢您帮助,但我在我的要求中犯了一个错误。我调用save()而不是create()。 –