WEB开发网
开发学院软件开发Java Java 开发 2.0: 通过 CouchDB 和 Groovy 的 RESTC... 阅读

Java 开发 2.0: 通过 CouchDB 和 Groovy 的 RESTClient 实现 REST

 2009-12-30 00:00:00 来源:WEB开发网   
核心提示: 接下来,我们需要创建一些文档,Java 开发 2.0: 通过 CouchDB 和 Groovy 的 RESTClient 实现 REST(8),以便与停车罚单的主题保持一致,要建立一个停车罚单模型,举例来说,指定警官的名称为 Kristen Ree,需要记住一些与罚单相关的方面,另外需要记住

接下来,我们需要创建一些文档,以便与停车罚单的主题保持一致。要建立一个停车罚单模型,需要记住一些与罚单相关的方面。另外需要记住,由于它们是警官将填写的实际表单,因此一些字段可以不填或者采用预定义的模式 — 考虑交汇点与准确地点。

使用 HTTPBuilder,您可以通过 HTTP PUT 在 CouchDB 中创建一个文档(就像在清单 2 中创建数据库一样)。由于 CouchDB 将处理 JSON 文档,因此您必须遵循 JSON 的名称值格式。为此,在 Groovy 中创建一种类似于映射的数据结构(HTTPBuilder 会将其转换为有效的 JSON)。如清单 3 所示:


清单 3. 通过 RESTClient创建一个 CouchDB 文档
response = client.put(path: "parking_tickets/1234334325", contentType: JSON, 
    requestContentType: JSON, 
    body: [officer: "Kristen Ree", 
        location: "199 Baldwin Dr", 
        vehicle_plate: "Maryland 77777", 
        offense: "Parked in no parking zone", 
        date: "2009/01/31"]) 
 
assert response.data.ok == true : "response from server wasn't ok" 
assert response.data.id == "1234334325" : "the returned ID didn't match" 

清单 3 完成了多项任务。首先,在为 CouchDB 文档发出 PUT 时,您必须分配一个 UUID。CouchDB 可以为您分配这些值,或者您也可以自已管理它们。在清单 3 中,我设定了一个值(1234334325);随后,该 UUID 将附加到 URL。如果该 UUID 可用,则 CouchDB 会为它分配执行了 PUT 操作的文档。在 put 调用的 body 部分,注意为各名称指定相关值的方式,几乎与普通的映射无异。举例来说,指定警官的名称为 Kristen Ree,而罚单的地点是 199 Baldwin Dr。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Java 开发 通过

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接