chukwa 学习———— JAX-RS
来源:互联网 发布:安卓手机c语言编程软件 编辑:程序博客网 时间:2024/05/01 14:08
JAX-RS
简介: JAX-RS (JSR-311) 是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松。这个 API 提供了一种基于注释的模型来描述分布式资源。注释被用来提供资源的位置、资源的表示和可移植的(pluggable)数据绑定架构。基于Hadoop的日志收集系统哦chukwa在里面很好的应用了该服务。
一 JAX-RS: Java API for RESTful Web Services是一个Java编程语言的应用程序接口,支持按照 表象化状态转变 (REST)架构风格创建Web服务Web服务[1]. JAX-RS使用了Java SE 5引入的Java 标注来简化Web服务客户端和服务端的开发和部署。
二 规范内容
JAX-RS提供了一些标注将一个资源类,一个POJOJava类,封装为Web资源。标注包括:
- @Path,注释被用来描述根资源、子资源方法或子资源的位置。
value
值可以包含文本字符、变量或具有定制正则表达式的变量。清单 6 的例子展示了@Path
注释的主要应用。 - @GET,@PUT,@POST,@DELETE,标注方法是用的HTTP请求的类型.您可以使用它们来绑定根资源或子资源内的 Java 方法与 HTTP 请求方法。HTTP GET 请求被映射到由 @GET 注释的方法;HTTP POST 请求被映射到由 @POST 注释的方法,以此类推。用户可能还需要通过使用
@HttpMethod
注释定义其自己的定制 HTTP 请求方法指示符。 - @Produces,注释代表的是一个资源可以返回的 MIME 类型。这些注释均可在资源、资源方法、子资源方法、子资源定位器或子资源内找到。
JAX-RS 提供程序是一些应用程序组件,允许在三个关键领域进行运行时行为的定制:数据绑定、异常映射以及上下文解析(比如,向运行时提供 JAXBContext 实例)。每个 JAX-RS 提供程序类必须由
@Provider
注释。如下的例子讨论了两个数据绑定提供程序MessageBodyWriter
和MessageBodyReader
。 - @Consumes,注释代表的是一个资源可以接受的 MIME 类型。
- @PathParam,@QueryParam,@HeaderParam,@CookieParam,@MatrixParam,@FormParam,分别标注方法的参数来自于HTTP请求的不同位置,例如@PathParam来自于URL的路径,@QueryParam来自于URL的查询参数,@HeaderParam来自于HTTP请求的头信息,@CookieParam来自于HTTP请求的Cookie。
三 用JAX-RS 控制器来处理所有对于Agent处理adaptors的时候的HTTP请求
返回所有的适配器* GET /rest/v1/adaptor* Optional QS params: viewType=text|xml (default=xml)返回单个适配器* GET /rest/v1/adaptor/[adaptorId]* Optional QS params: viewType=text|xml (default=xml)移除一个适配器* DELETE /rest/v1/adaptor/[adaptorId]*添加一个适配器* POST /rest/v1/adaptor* Content-Type: application/json* Optional QS params: viewType=text|xml (default=xml)** { "DataType" : "foo",* "AdaptorClass" : "FooAdaptor",* "AdaptorParams" : "params",* "Offset" : "0" }* The first 3 params above are the only required ones.
四 与传统的 servlet 模型相比,JAX-RS 提供了一种可行的、更为简便、移植性更好的方式来在 Java 内实现 RESTful 服务。使用注释让您能够轻松提供 Java 资源的路径位置并将 Java 方法绑定到 HTTP 请求方法。一种可移植的数据绑定架构提供了一些本机的 Java 类型支持并允许进行序列化/反序列化处理的完全定制。javax.ws.rs.core. Application 子类的扩展以及 web.xml 内的相应清单表明了用最少的部署描述符配置就能进行轻松部署。
参考资料
1. http://www.mkyong.com/tutorials/jax-rs-tutorials/
2. http://www.ibm.com/developerworks/cn/web/wa-jaxrs/index.html
3. http://zh.wikipedia.org/zh/JAX-RS
- chukwa 学习———— JAX-RS
- jax-rs(Java API for RESTful Web Services) 实践教程 之一 —— 初探jax-rs
- chukwa学习2——Jetty
- chukwa学习3——Log4J
- SCA 之Tuscany 2 ——helloworld JAX-RS
- JAX-RS post 上传文件服务 —— 415 - Unsupported Media Type
- 【JPA+JAX-RS+HTML5】第一弹——用户+文章+评论模块
- WebService(三)—JDK内置JAX-RS实现Rest WebService
- Spring Boot 集成 resteasy篇 — jax-rs初步介绍和spring boot集成
- Spring Boot 集成 resteasy篇 — jax-rs常用注解介绍
- Maven学习总结(35)——Maven项目错误 JAX-RS (REST Web Services) 2.0 can not be installed问题
- JAX-RS 简化 REST 学习
- JAX-RS入门,学习笔记
- chukwa——apache 日志分析系统
- jax-rs(Java API for RESTful Web Services)实践教程 之二 —— get/post/put/delete/head
- jax-rs(Java API for RESTful Web Services) 实践教程 之三 —— 生产Produces与消费Consumes
- jax-rs(Java API for RESTful Web Services) 实践教程 之五 —— 注入全局变量 和 rest的生命周期
- jax-rs(Java API for RESTful Web Services)实践教程 之二 —— get/post/put/delete/head
- 关于js解析执行有趣的事
- 深入浅出之正则表达式(二)
- java输入输出
- 关于Cadence16.5和Cadence15.5共存的安装方法
- MFC自定义消息四步曲
- chukwa 学习———— JAX-RS
- The Tom Kyte Blog: When the explanation doesn't sound quite right...
- NHibernate链接access数据库的配置文件
- 使用GIT工具获取android应用程序源代码
- 备份集中的数据库备份与现有的数据库不同
- java.nio.Buffer缓冲区基础
- Proxool连接池的释放问题
- IOS 多线程使用
- ADODB.Connection 错误 '800a0e7a'