Java 开发 2.0: 通过 CouchDB 和 Groovy 的 RESTClient 实现 REST
2009-12-30 00:00:00 来源:WEB开发网接下来,我们需要创建一些文档,以便与停车罚单的主题保持一致。要建立一个停车罚单模型,需要记住一些与罚单相关的方面。另外需要记住,由于它们是警官将填写的实际表单,因此一些字段可以不填或者采用预定义的模式 — 考虑交汇点与准确地点。
使用 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。
更多精彩
赞助商链接