1 REST的基本实现形式HTTP+URI+XML,但不是唯一形式。XML后来被Json格式替代。REST是一中架构风格(Representational State Transfer,表述性状态转移),而不是具体的实现形式。
2 RESTful Web Service是一种遵守REST风格的WEB服务。是一种ROA(Resource-Oriented Architecture,面向资源的架构)应用。
主要特点是方法信息存在于HTTP的方法中(比如GET/PUT),作用域存在于URI中。作用域信息是URI中包含对设备资源的过滤、分页和排序等条件。
3 JAX-RS 是java领域的REST式的WEB服务标准规范。
4 JAX-RS 2.0 目标
1)使用POJO来公布Web资源
2)以HTTP为中心,使用清晰的HTTP和统一资源定位(URI)元素来映射相关API类和注解。
3)容器独立性,JAX-RS 2.0 的应用可以部署在各种Servlet容器中,比如tomcat/jetty
5 JAX-RS 元素
1)资源类,使用JAX-RS 注解来实现相关WEB 资源的Java类。用于接收请求和返回响应。三层的包定义形式:resource-service-dao.
2)根资源类,使用@Path注解,提供资源类树的根资源及其子资源的访问。资源类分为根资源类和子资源类。
3)请求方法标识符,使用运行期注解@HttpMethod来标注处理资源的HTTP请求方法。该方法将被资源类的相应方法处理,标准方法包括DELETE/GET/HEAD/OPTIONS/POST/PUT。
4)资源方法,资源类中定义的方法,使用了请求方法标识符,用来处理相关资源的请求。
5)子资源标识符
6)Providers:一种JAX-RS 扩展接口的实现类。
8)Filter,一种用于过滤请求和响应的Provider。
9)Entity Interceptor,用于处理拦截消息读写的Provider。
10)Invocation,用于配置发布HTTP请求的客户端API对象。
11)WebTarget,用于URI标志的 Invocation 容器对象。
12)Link,携带元数据的URI,包括媒体类型、关系和标题
jersey是JAX-RS标准的参考实现。
6 REST应用需要考虑两个方面,
1)如何定义一个资源,包括以什么方式发布一个请求,它的输入和输出是什么
2)如何部署一个RESTful Web Service应用,匹配既有的REST服务类型。