我使用的是Grails 2.3.9。 我实现了一个扩展RestfulController的控制器(让我们称之为FooController,我也有一个Foo域类)。
在我的控制器中,我覆盖createResource和getParametersToBind以适应我的业务逻辑。
在URLMappings.groovy中,我添加了以下内容:
" /富"(资源:"富&#34)
在我的ajax客户端中,我使用以下请求标头POST一个json查询:
Accept:application/javascript, application/json
Content-Type:application/json
但是,我得到了404响应。
我试图将RestfulController中的save方法复制到FooController中,这样我就可以通过它进行逐步调试,并注意到它一直持续到forFormat闭包的最后一行通过' *'哑剧型。
现在,如果我从
更改该行respond instance, [status: CREATED]
到
render instance as JSON
它有效......
我在请求中发送的标头是否有问题?
注意:当我添加{format =' json'在我的URLMappings'资源声明,但请求标题是否足够?
答案 0 :(得分:2)
我设法通过编辑Config.groovy并设置此项来完成这项工作:
grails.mime.disable.accept.header.userAgents = []
我仍然有兴趣了解为什么默认设置是阻止浏览器通过ajax调用来使用休息服务......