gpt4 book ai didi

rest - 使用@Resource的Grails REST-PUT未更新

转载 作者:行者123 更新时间:2023-12-02 14:43:19 25 4
gpt4 key购买 nike

我现在正在学习grails(2.4.0),并且对于自动生成的REST方法有一个奇怪的问题。

所以,我有一个简单的 Realm

@Resource(uri = '/unit', formats = ['json'])
class Unit {
String name;
}

我可以使用GET / POST / DELETE方法成功列出/创建/删除实例,但是PUT方法不执行任何操作:
curl -i -X PUT -H "Content-Type: application/json" -d '{"name":"fail", "id":65}' localhost:8080/app/unit/65
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Location: http://localhost:8080/app/unit/65
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 01 Jun 2014 09:25:02 GMT

{"class":"app.Unit","id":65,"name":"test"}

随后的GET请求也将返回name:test而不是name:fail

我做错了什么?

最佳答案

这是一个仅与更新有关的错误(与新创建的实例无关)。我已经修复了此修复程序,我们将在2.4.1中包含此修复程序。参见https://jira.grails.org/browse/GRAILS-11462

简而言之,即使请求具有正文,更新仍使用请求参数完成。解决方法是更改​​它,以便在完成更新时,如果请求具有正文,则使用该正文,如果没有正文,则使用请求的参数。

很抱歉给您带来麻烦,并感谢您的投入。

关于rest - 使用@Resource的Grails REST-PUT未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23978443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com