Apache Wink 和 REST(3)Apache Wink
- UID
- 1066743
|
Apache Wink 和 REST(3)Apache Wink
Apache Wink如果您阅读过本文章系列前面的文章,您应该已经比较了解 Apache Wink。如果没有,下面是一个简要介绍。
Apache Wink 1.0 是一个全新设计的、与 JAX-RS 1.0 规范完全兼容的实现,它简单易用、生产就绪,提供了一组增强核心 JAX-RS 规范的特性,包括:
嵌入式容器Apache Wink 1.0 的设计目的是为了在一个 servlet 中运行,目前不支持嵌入式操作模式。但是,任何兼容的轻量级 servlet 容器应该能够支持 Apache Wink 运行时。
客户端 APIApache Wink 包含一个复杂的内置客户端框架,该框架提供一个简单的 Java API,以支持轻松直观地实现一些客户端来使用基于 HTTP 的 RESTful Web 服务。即便是作为一个独立的基于 REST 的 Java 客户端框架,Wink 客户端框架也很有用。
加入 My developerWorks 上的 Apache Wink 讨论组在 内与其他开发人员讨论关于使用 Apache Wink 进行 RESTful Web 服务开发的主题并共享资源。
还不是 My developerWorks 成员?
侦听器框架Apache Wink 运行时利用句柄链(handler chains)来处理请求。具体来说,有 3 种句柄链:请求、响应 和错误。要定制句柄链,可在应用程序的 web.xml 文件中扩展 org.apache.wink.server.handlers.HandlersFactory 类,覆盖方法并指定新的句柄库类。
数据格式支持Apache Wink 1.0 绑定了一组内置提供程序,它们可以协助您支持各种行业标准数据格式,包括 XML、Atom、Atom Publishing Protocol (APP)、RSS、JSON、CSV、HTML、OpenSearch 和 multipart。
组件集成Apache Wink 通过核心框架附带的一个附加模块来提供轻松 Spring 集成。Apache Wink Spring 集成模块提供各种特性,包括:
- 将资源和提供程序注册为类或 Spring beans。
- 资源/提供程序生命周期定制。
- 能够使用一些 Spring 特性,比如 Inversion of Control (IoC)。
- 从 Spring 上下文中使用 hooks 进行轻松定制。
Apache Wink 还通过一个扩展模块来支持 WebDAV 协议,该扩展模块有助于 WebDAV 响应的创建和处理。 是使用 WebDAVResponseBuilder 类来实现一个 JAX-RS 资源的示例,该资源与使用 WebDAVMethod.PROPFIND 符号的 PROPFIND WebDAV HTTP 方法关联。
清单 2. Apache Wink WebDAVResponseBuilder 示例1
2
3
4
5
6
7
8
9
10
| @Path("books/{bookid}")
public class BookResource {
@WebDAVMethod.PROPFIND
@Consumes("application/xml")
@Produces(application/xml")
public Response propfindBook(@PathParam("bookid") String booked) {
SyndFeed feed = ...
return WebDAVResponseBuilder.propfind(feed);
}
}
|
|
|
|
|
|
|