
JAX-RS
文章平均质量分 81
liugang594
这个作者很懒,什么都没留下…
展开
-
JAX-RS入门 三 :细节
一、若希望一个Java类能够处理REST请求,则这个类必须至少添加一个@Path("/")的annotation;对于方法,这个annotation是可选的,如果不添加,则继承类的定义。 二、一个方法上只有添加了某个Http Method的annotation,例如@GET,才有资格处理请求。 三、@Path里的值可以是一个复杂的表达式,例如@Path("{id}") ,其中 {i...原创 2012-04-24 13:48:32 · 154 阅读 · 0 评论 -
JAX-RS入门 一 :基础
简介JAX-RS是一套用java实现REST服务的规范,提供了一些标注将一个资源类,一个POJOJava类,封装为Web资源。标注包括:@Path,标注资源类或方法的相对路径 @GET,@PUT,@POST,@DELETE,标注方法是用的HTTP请求的类型 @Produces,标注返回的MIME媒体类型 @Consumes,标注可接受请求的MIME媒体类型 @PathPa...原创 2012-04-20 15:04:41 · 337 阅读 · 0 评论 -
【转】HTTP协议头部与Keep-Alive模式详解
1、什么是Keep-Alive模式?我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能...原创 2012-11-30 14:52:27 · 127 阅读 · 0 评论 -
JAX-RS入门 十二: 可伸缩的JAX-RS应用
一、HTTP Caching HTTP1.0中定义了Expires来指定cache在浏览器的生命时长。例如:HTTP/1.1 200 OKContent-Type: application/xmlExpires: Tue, 15 May 2011 16:00 GMT<Customer id="1">...</Customers>缓存的数据直到...原创 2012-05-25 17:27:47 · 213 阅读 · 0 评论 -
JAX-RS入门 十一:HATEOAS
HATEOAS全称:超媒体即状态应用引擎 (Hypermedia As The Engine Of Application State)。 一、Atom Links RESTful使用Atom Syndication Format来实现HATEOAS。Atom Links 也是一种xml元素结构,例如:<customers> <link rel="next...原创 2012-05-24 16:56:26 · 116 阅读 · 0 评论 -
JAX-RS入门 十: 兼容与演进
网络服务会随着时间的发展再不断进化,例如:添加新的特性;扩展数据集;数据格式的改变和演化。你怎么来管理这些变化呢?怎么让以前的用户能够在旧版本上运行呢? 将应用模块会可以解决这些问题中的大多数。下面就讨论一些在开发应用时需要有的设计和决策,以适应这些可能的变化。 一、创建新的Media Type REST的一个重要准则是将你的资源的复杂性隐藏在你的变换数据后面。然后URI可...原创 2012-05-07 16:05:12 · 152 阅读 · 0 评论 -
JAX-RS入门 九: 内容约定(2)
JAX-RS与Conneg JAX-RS有一些用来帮助用户管理他的conneg的工具:基于Accept头的方法派发允许直接查看内容信息用于处理多约束条件的APIs1. 方法派发 前几节中,我们看到怎么使用@Produces注释来指示响应的Media Type。 JAX-RS也使用这个注释来分发请求到恰当的方法上,通过匹配最佳的请求的Accept头信息的Media...原创 2012-05-07 15:35:20 · 149 阅读 · 0 评论 -
JAX-RS入门 九: 内容约定(1)
通常一个SOA的应用都需要足够的灵活,以便于各种不同的客户端或平台进行集成与交互。 RESTful 服务在这方面相当有优势,因为大部分的程序语言都能够与HTTP协议间相互通信。 不过这还不够,为了高效的运行,不同的用户可能有不同的需求。例如Java用户端更多的希望他们的数据是xml格式的;Ajax用户端则更喜欢JSON格式;Ruby用户需要想要YAML格式。另外,有时他们还希望这些数据是经...原创 2012-05-04 11:04:13 · 106 阅读 · 0 评论 -
JAX-RS入门 八: HTTP响应
首先先看一下HTTP中定义的响应码及其意义: 响应码含义100继续101分组交换协议200OK201被创建202被采纳203非授权信息204无内容205...原创 2012-04-27 15:31:26 · 286 阅读 · 0 评论 -
JAX-RS入门 七: 数据处理(2)
上节介绍了JAX-RS中怎么与一些基础的对象进行交互,这节介绍JAXB和JSON的使用。 一、JAXB 关于JAXB知识,可以去网上搜搜,或者要入门的话,可以看:http://liugang594.iteye.com/category/201713 。 为了在XML和对象间进行映射,修改一下Customer类,添加JAXB相关的annotations。如下:@XmlR...原创 2012-04-26 17:51:21 · 334 阅读 · 0 评论 -
JAX-RS入门 六: 数据处理(1)
接下来要花两小节来介绍一下JAX-RS中的数据处理(Data Handlers)部分。 一、SteamingOutput在第一节中(http://liugang594.iteye.com/blog/1491434),看getCustomer()方法: public StreamingOutput getCustomer(int id) { fina...原创 2012-04-26 11:38:02 · 236 阅读 · 0 评论 -
JAX-RS入门 五: 自动类型转换
一、默认类型转换规则 在上一节中,已经了解了怎么使用那个annotations去提取请求中各种信息,不过得到的信息值默认都是一个string类型。 这一节介绍JAX-RS一些内置的自动类型转换及其规则。 理论上JAX-RS可以将请求信息转换成任一Java类型,只要该Java类型满足以下条件之一:基本类型: int、short、float、double、byte、cha...原创 2012-04-25 11:24:49 · 133 阅读 · 0 评论 -
JAX-RS入门 四: 注入
一、Annotations@javax.ws.rs.PathParam: 从URI模板参数中提取数据@javax.ws.rs.MatrixParam:从URI中提取Matrix参数@javax.ws.rs.QueryParam:从URI中提取查询参数@javax.ws.rs.FormParam:提取Post Form参数@javax.ws.rs.HeaderParam:提取...原创 2012-04-24 17:47:28 · 380 阅读 · 0 评论 -
JAX-RS入门 二 :运行
上一节,已经成功的定义了一个REST服务,并且提供了具体的实现,不过我们还需要把它运行起来。 在上一节的装备部分,列举了必须的jar(在tomcat中运行)和可选的jar(作为一个独立的应用程序运行)。这一节将分别介绍如何做为一个独立的应用程序运行和如何在tomcat里运行。 Tomcat(或者其他Web容器)中运行要在tomcat之类的容器里运行,首先需要定义一个Applic...原创 2012-04-20 17:37:48 · 273 阅读 · 0 评论