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

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

 2009-12-30 00:00:00 来源:WEB开发网   
核心提示: 清单 4 采用相同的技巧在 CouhDB 中创建了另外一个罚单:清单 4. 另一个停车罚单defid=newDate().timeresponse=client.put(path:"parking_tickets/${id}",contentType:JSON,request

清单 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 中的视图

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

Tags:Java 开发 通过

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