带有 grails 的简单 REST API

import grails.rest.*

@Resource(uri='/books')
class Book {

    String title

    static constraints = {
        title blank:false
    }
}

只需添加资源转换并指定 URI,你的域类将自动作为 XML 资源或 JSON 格式的 REST 资源。转换将自动注册必要的 RESTful URL 映射并创建一个名为 BookController 的控制器。

你可以通过向 BootStrap.groovy 添加一些测试数据来尝试:

def init = { servletContext ->
    new Book(title:"The Stand").save()
    new Book(title:"The Shining").save()
}

然后点击 URL http://localhost:8080/books/1,这将呈现如下响应:

<?xml version="1.0" encoding="UTF-8"?>
<book id="1">
    <title>The Stand</title>
</book>

如果你将 URL 更改为 http://localhost:8080/books/1.json,你将获得 JSON 响应,例如:

{"id":1,"title":"The Stand"}

如果你希望更改默认值以返回 JSON 而不是 XML,则可以通过设置资源转换的 formats 属性来执行此操作:

import grails.rest.*

@Resource(uri='/books', formats=['json', 'xml'])
class Book {
    ...
}