Java 开发 2.0: 通过 CouchDB 和 Groovy 的 RESTClient 实现 REST
2009-12-30 00:00:00 来源:WEB开发网清单 4 采用相同的技巧在 CouhDB 中创建了另外一个罚单:
清单 4. 另一个停车罚单def id = new Date().time
response = client.put(path: "parking_tickets/${id}", contentType: JSON,
requestContentType: JSON,
body: [officer: "Anthony Richards",
location: "Walmart Parking lot",
vehicle_plate: "Delaware 4433-OP",
offense: "Parked in non-parking space",
date: "2009/02/01"])
assert response.data.ok == true : "response from server wasn't ok"
assert response.data.id == "${id}" : "the returned ID didn't match"
每次通过 RESTClient 发出 PUT 时,我都断言 JSON 应答的 ok 值为 TURE,并且验证是否存在 id 值。注意在清单 4 中,我没有创建 UUID,而是使用了当前的时间 — 并不是非常简单的技巧,但我已经不再满足于使用简单的交汇点。
在 CouchDB 中成功创建了新文档之后,它会返回一个包含 UUID 和修订 ID 的 JSON。举例来说,该应答表示我在清单 4 中验证的 JSON:
{"ok":true,"id":"12339892938945","rev":"12351463"}
您的 id 和 rev 值肯定不一样。注意,我可以通过发出 response.data.id 这样的调用来捕获 id 值。
在 CouchDB 中,它将通过修订来跟踪文档,因此您可以返回之前的文档版本(通过修订 ID),这与 CVS 或 Subversion 中的方法极为类似。
CouchDB 中的视图
更多精彩
赞助商链接