什么是REST:
Rest是一种架构风格,对象被抽象成资源(resource)资源的命名使用清晰的名词来定义。
这里请记住三个关键词:HTTP+URI+XML
- HTTP: 协议标准。
- URI :资源标识符,用于标识某一互联网资源名称的字符串。(简单理解成淘宝宝贝的地址,你把地址栏那一串东西复制到另外一台电脑,看到的还是一样的东西)。
- XML :不仅仅指XML本身,这里只数据格式,包括json等
还有四个动词:
- GET : 获取对象
- PUT : 更新对象
- DELETE :删除对象
- POST :新增对象
REST 就是这些东西的组合了。不是技术,不是协议,而是一种风格。
什么是JAX-RS
JAX-RS是Java领域的REST式的Web服务的标注规范。
JAX-RS2标准
JavaEE Restful Web Services 2。(Jersey2.x是对JAX-RS2标准的实现)
JAX-RS2.0的目标
- 基于POJO
- 以HTTP为中心
- 格式独立性
- 容器独立性 :可以部署在各种Servlet容器中,tomcat,jetty,GlassFish
- 内置于Java EE: 是Java EE规范的一部分。
JAX-RS2.0元素
- 资源类: 资源类位于最前端,三层架构为,resource-service-dao
- 根资源类:使用@Path注解,提供资源类树的根资源和子资源的访问。
- 请求方法标识符:GET,PUT,POST,DELETE
- 资源方法:就是GET,PUT,POST,DELETE 对应的方法
- 子资源标识符:定义相关资源的子资源
- 子资源方法:资源类中的方法,用来处理相关资源子资源的请求。
- Providers:一种JAX-RS拓展接口的实现类,实现了JAX-RS运行期的能力
- Filter:一种用于过滤请求和相应的Provider
- Entity Interceptor:一种用于处理拦截消息读写的Provider
- Invocation:一种用于配置发布HTTP请求的客户端API对象
- WebTarget:一种使用URI标识的Invocation容器对象
- Link:一种携带元元素的URI,包括媒体类型,关系和标题