我在rest-api
配置文件中使用Grails 3.1.9。
创建模型和 Controller 后(通过grails CLI)并启动了应用程序。
我无法通过邮递员/ curl 等创建POST。
如果我尝试直接调用save方法,例如:
http://localhost:8080/mymodel/create
一切正常。但是,如果我尝试通过POST调用它,将永远不会调用方法save()(index是默认操作)。
ps。我的 Controller 上有这个:
static allowedMethods = [save: "POST", update: "PUT", delete: "DELETE"]
为什么会这样?
最佳答案
您应该通过POST调用save()
方法,而不是通常用于显示所创建元素的表单 View 的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
,则应该使用简单的http://localhost:8080/mymodel
关于grails - Grails 3.1.9:无法识别POST,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38600787/