带有 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 {
...
}