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