Grails2.3.8 RESTful API

Grails2.3.8 RESTful API,rest,grails,Rest,Grails,我在Mac上使用Grails2.3.8 我希望使用Grails快速开发RESTful API。我从Web服务的基本文档开始,在这里可以找到我的版本: 这似乎表明我可以在Grails中创建一个简单的域类,然后使用Grails.rest中的@Resource进行注释,如下所示: import grails.rest.* @Resource(uri='/books', formats=['json', 'xml']) class Book { String title sta

我在Mac上使用Grails2.3.8

我希望使用Grails快速开发RESTful API。我从Web服务的基本文档开始,在这里可以找到我的版本:

这似乎表明我可以在Grails中创建一个简单的域类,然后使用Grails.rest中的@Resource进行注释,如下所示:

import grails.rest.*

@Resource(uri='/books', formats=['json', 'xml'])

class Book {

    String title

    static constraints = {
        title blank:false
    }
}
当我将此文件放入grails app/domain目录并运行该应用程序时,文档建议我应该能够使用cURL通过HTTP添加图书对象:

curl -i -X POST -H "Content-Type: application/json" -d '{"title":"Along Came A Spider"}' localhost:8080/myapp/books
但这给了我HTTP 422,其中包含以下消息:

HTTP/1.1 422 Unprocessable Entity
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 05 Aug 2014 01:46:05 GMT

{"errors":[{"object":"Book","field":"title","rejected-value":null,"message":"Property [title] of class [class Book] cannot be null"}]}

有人能告诉我这里缺少什么吗?我希望这会非常简单。

正如@raffian在评论中提到的,这是由于Grails 2.3.8中的一个bug造成的:


升级解决了问题。

2.3.8中的缺陷:,升级到2.3.9或降级到2.3.7已确认!升级到最新的2.4.3修复了该问题。请随意添加答案。