快速业务通道

Java开发2.0 - 通过CouchDB和Groovy的RESTClient实现REST - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
。您应该能看到如清单 1 所示的输出:

清单 1. CouchDB 正在运行中(各行经过分段以适应页面宽度)

couchdb  1820   1 0 00:54 ?    00:00:00 /bin/sh  -e /usr/bin/couchdb    -c /etc/couchdb/couch.ini -b -r 5 -p /var/run/couchdb.pid  -o / couchdb  1827 1820 0 00:54 ?    00:00:00 /bin/sh -e  /usr/bin/couchdb    -c /etc/couchdb/couch.ini -b -r 5 -p /var/run/couchdb.pid  -o / couchdb  1828 1827 0 00:54 ?    00:00:00  /usr/lib/erlang/erts-5.6.5/bin/beam    -Bd -- -root /usr/lib/erlang -progname erl -- -home  /v couchdb  1836 1828 0 00:54 ?    00:00:00 heart -pid  1828 -ht 11

接下来,回到本地机器,设置一个 SSH 通道来允许访问在云上运行的 CouchDB 实例,就像是在自己的机器上一样。为此,在本地机器上打开一个新的 终端会话,然后输入:

ssh -i your key -L 5498:localhost:5984 root@your AMI  DNS

最后,在本地机器上打开一个浏览器。在地址栏中,输入 http://127.0.0.1:5498/。您应该可以看到一个漂亮的 JSON 欢迎消息,如下所 示:

{"couchdb":"Welcome","version":"0.8.0-incubating"}

现在,看上去一切运转正常,接下来可以开始应用 CouchDB 了。

采用 REST 风格使用 Groovy 的 RESTClient

Java开发2.0 - 通过CouchDB和Groovy的RESTClient实现REST(3)

时间:2010-11-29 IBM Andrew Glover

REST

在表示状态传输(REST)设计风格中,松散耦合的 Web 应用程序将依赖于指 定资源 — 比如采用统一资源定位符(URL)、统一资源标识符(URI)和统一资 源名称(URN)的形式 — 而不是消息。REST 明智地采用了 Web 中经过验证并 获得了成功的基础设施 — HTTP。也就是说,REST 将利用 HTTP 协议的各个方 面,比如 GET 和 POST 请求。这些请求将很好地满足业务应用需求,比如创建 、读取、更新和删除(CRUD)。

由于 CouchDB 通过以上 REST 式 HTTP 接口来公开数据,因此使用 CouchDB (您已经在浏览器中见识一二)是相当简单的。几乎所有工作都可以通过 HTTP 来完成。

您可以选择各种工具来与 HTTP 进行交互。在使用 REST 式接口时,我比较 偏爱 Groovy HTTPBuilder 的 RESTClient 扩展。 HTTPBuilder — 针对 Apache Commons Project 的 HTTPClient 的包装器 — 在 HTTP POST、GET、 PUT 和 DELETE 的语法中添加了一些 Groovy 因素。由于 HTTPBuilder 是使用 Groovy 创建的,因此编写利用 REST 式概念的脚本(比如与 CouchDB 通信)都 简单得不能再简单了。

Grape 的进一步简化

为了与 Java 开发 2.0 的一般主题保持一致 — 快速、简便和免费(或便宜 ) — Groovy 的便捷的 Grape(Groovy Advanced Packaging Engine 或 Groovy Adaptable Packaging Engine)特性对于与 HTTPBuilder 这样的交互非 常有用。Grape 是一种依赖项管理器,它允许 Groovy 脚本和类在运行时 自动 配置自己的特定依赖项。这简化了各种开源库的使用,因为您不需要下载各种 JAR 文件便可开始编写代码。举例来说,借助 Grape,您可以编写一个 Groovy 脚本来使用 HTTPBuilder,而不需要 HTTPBuilder 的 JAR。借助 Grape,可以 在运行时或编译时下载它们(通过 Apache)。

您将通过注释和方法调用来利用 Grape。举例来说,您可以使用 @Grab 注释 来修饰某个方法或类声明。在该注释中,您将主依赖项指定一些相关的元数据( 借助 Ivy 的魔力,所有中间依赖项都可以悉数确定)。在运行时或编译时(无 论孰前孰后),Grape 将下载

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号