REST 在 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一。

REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识。客户端应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集。RESTful Web 服务是使用 HTTP 和 REST 原理实现的Web 服务。通常,RESTful Web 服务应该定义以下方面:

  • Web 服务的基/根 URI,比如 http://host/<appcontext>/resources。
  • 支持 MIME 类型的响应数据,包括 JSON/XML/ATOM 等等。
  • 服务支持的操作集合(例如 POST、GET、PUT 或 DELETE)。

Jersey的四种行为

方法

HTTP 方法映射到资源的 CRUD(创建、读取、更新和删除) 操作。尽管您可以做一些小修改,比如让 PUT 方法变成创建或更新,但基本的模式如下:

  • HTTP GET:获取/列出/检索单个资源或资源集合。
  • HTTP POST:新建资源。
  • HTTP PUT:更新现有资源或资源集合。
  • HTTP DELETE:删除资源或资源集合。

方法/资源

资源集合; URI 如:
http://host/api/resources

成员资源; URI 如:
http://host/api /resources/123

对应的操作

POST

列出资源集合的所有成员。

检索标识为 1234 的资源的表示形式。

C(创建)

GET

使用一个集合更新(替换)另一个集合。

更新标记为 1234 的数字资源。

R(读取)

PUT

在集合中创建数字资源,其ID 是自动分配的。

在下面创建一个子资源。

U(更新)

DELETE

删除整个资源集合。

删除标记为 1234 的数字资源。

D(删除)

相关的架包结构

·      核心服务器:jersey-core.jar,jersey-server.jar,jsr311-api.jar,asm.jar

·      核心客户端:(用于测试)jersey-client.jar

·      JAXB 支持:(在高级样例中使用)jaxb-impl.jar,jaxb-api.jar,activation.jar,stax-api.jar,wstx-asl.jar

·      JSON 支持:(在高级样例中使用)jersey-json.jar

·      Spring支持:(在高级样例中使用)jersey-spirng.jar

元注解信息说明

生存周期说明

1.       默认不使用注解,表示生存周期等于request,请求过后自动销毁,默认是线程安全的。

2.       application,使用@Singleton注解。生存周期等于整个应用程序的生存周期。

3.       session,使用@PerSession注解。生存周期等于一个session请求,session销毁,该rest资源实例也同时销毁。

Bean注解说明

1.@Path
路径信息,表示映射出去的访问路径。
范例如下:@Path("/myResource")

2. @Produces
用于限制post和get方法返回的参数类型,支持json、string、xml、html
范例如下:@Produces({"application/xml", "application/json"})

3. @Consumes
用于限制输入的参数的类型,支持json、string、xml、html
范例如下:@Consumes("text/plain")

4. @QueryParam

通过request传入的参数,可以转换任何有以String为参数的构造函数的类。

5.@DefaultValue
@DefaultValue表示默认参数。
范例如下:@DefaultValue("2") @QueryParam("step")        int step,

5. @PathParam 
@ MatrixParam,@ HeaderParam,@ CookieParam和@ QueryParam FormParam听从以相同的规则。 
@ MatrixParam提取URL路径段的信息。 @ HeaderParam提取的HTTP头信息。 @ CookieParam提取信息的Cookie饼干宣布相关的HTTP标头。
@ FormParam略有特殊,因为它提取请求表示,该类型匹配前面的@Consumes所声明的类型。

范例如下:

@POST

@Consumes("application/x-www-form-urlencoded")

public void post(@FormParam("name")   String name) {

6.pojo层面等相关注解,@XmlRootElement,支持JPA注解。

Jersey注解详解相关推荐

  1. 26.SpringBoot事务注解详解

    转自:https://www.cnblogs.com/kesimin/p/9546225.html @Transactional spring 事务注解 1.简单开启事务管理 @EnableTrans ...

  2. mybatis注解详解

    mybatis注解详解 首 先当然得下载mybatis-3.0.5.jar和mybatis-spring-1.0.1.jar两个JAR包,并放在WEB-INF的lib目录下 (如果你使用maven,则 ...

  3. 开启注解缓存_Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解

    随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...

  4. spring-boot注解详解(一)

    spring-boot注解详解(一) @SpringBootApplication @SpringBootApplication = (默认属性)@Configuration + @EnableAut ...

  5. Spring零配置之@Configuration注解详解

    转载自 Spring零配置之@Configuration注解详解 @Configuration介绍 Spring3.0之前要使用Spring必须要有一个xml配置文件,这也是Spring的核心文件,而 ...

  6. Spring Boot注解详解

    文章目录 使用注解的优势 注解详解(配备了完善的释义) 注解列表如下 JPA注解 springMVC相关注解 全局异常处理 项目中具体配置解析和使用环境 使用注解的优势 采用纯java代码,不在需要配 ...

  7. 【SpringBoot 】SpringBoot注解详解

    [SpringBoot ]SpringBoot注解详解 一.注解(annotations)列表  @SpringBootApplication:包含了@ComponentScan.@Configura ...

  8. java method 注解_JAVA 注解详解及简单实例

    JAVA 注解详解及简单实例 何为注解 注解(Annotation)又称为元数据,在JDK1.5后引入,它的作用是: 生成文档  这是注解的原始用途,可以通过注解生成JavaDoc文档 跟踪代码的依赖 ...

  9. Java基础13:反射与注解详解

    Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...

最新文章

  1. Java8 新特性之流式数据处理(转)
  2. Jmeter(七)-参数化
  3. struts2 s标签
  4. 我可以在Android版式中加下划线吗?
  5. Linux上面的MTU含义
  6. python的内置对象有哪些、列举说明_Python内置对象汇总
  7. mysql 实体类_Mysql生成实体类
  8. LeetCode —— 440. 字典序的第K小数字(Python)
  9. ComboBox信息读取
  10. linux定时任务被挖矿修改,Linux挖矿威胁情报分享(被植入计划任务)
  11. GB4706标准全集 家用和类似用途电器
  12. C语言逻辑运算符,位运算符总结
  13. JavaScript音频编辑
  14. 如何通过网页超链接控制电脑应用程序
  15. ccf 命令行选项 java,DiskPart 命令行选项
  16. pycharm前进、后退快捷键
  17. 基于WT588F02B语音芯片的智能语音感应洗手液器设计方案
  18. 智能手机与个人计算机有什么区别,请问智能手机与非智能手机的区别!
  19. 计算机表示图形的几种方法。
  20. 离一线城市越来越远?对不起,杭州没那么不堪

热门文章

  1. 世界坐标系,摄像机坐标系、图像坐标系关系汇总
  2. JAVA三角海伦公式,海伦公式求三角形面积出错求教
  3. FCN-加载训练与测试数据
  4. java 分号 转义_java – 正则表达式和转义和未转义的分隔符
  5. mysql工具的使用_产品操作MySQL入门篇-工具使用
  6. isfile java_isfile 方法
  7. Java程序利用POJ读写Excel的.xls或.xlsx文件所需的3个jar包
  8. vue项目实现列表页-详情页返回不刷新,再点其他菜单项返回刷新的需求
  9. xxx.jar 中没有主清单属性
  10. 安装redis出现cc adlist.o /bin/sh:1:cc:not found