Jersey注解详解
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 如: |
成员资源; URI 如: |
对应的操作 |
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注解详解相关推荐
- 26.SpringBoot事务注解详解
转自:https://www.cnblogs.com/kesimin/p/9546225.html @Transactional spring 事务注解 1.简单开启事务管理 @EnableTrans ...
- mybatis注解详解
mybatis注解详解 首 先当然得下载mybatis-3.0.5.jar和mybatis-spring-1.0.1.jar两个JAR包,并放在WEB-INF的lib目录下 (如果你使用maven,则 ...
- 开启注解缓存_Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解
随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...
- spring-boot注解详解(一)
spring-boot注解详解(一) @SpringBootApplication @SpringBootApplication = (默认属性)@Configuration + @EnableAut ...
- Spring零配置之@Configuration注解详解
转载自 Spring零配置之@Configuration注解详解 @Configuration介绍 Spring3.0之前要使用Spring必须要有一个xml配置文件,这也是Spring的核心文件,而 ...
- Spring Boot注解详解
文章目录 使用注解的优势 注解详解(配备了完善的释义) 注解列表如下 JPA注解 springMVC相关注解 全局异常处理 项目中具体配置解析和使用环境 使用注解的优势 采用纯java代码,不在需要配 ...
- 【SpringBoot 】SpringBoot注解详解
[SpringBoot ]SpringBoot注解详解 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configura ...
- java method 注解_JAVA 注解详解及简单实例
JAVA 注解详解及简单实例 何为注解 注解(Annotation)又称为元数据,在JDK1.5后引入,它的作用是: 生成文档 这是注解的原始用途,可以通过注解生成JavaDoc文档 跟踪代码的依赖 ...
- Java基础13:反射与注解详解
Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...
最新文章
- Java8 新特性之流式数据处理(转)
- Jmeter(七)-参数化
- struts2 s标签
- 我可以在Android版式中加下划线吗?
- Linux上面的MTU含义
- python的内置对象有哪些、列举说明_Python内置对象汇总
- mysql 实体类_Mysql生成实体类
- LeetCode —— 440. 字典序的第K小数字(Python)
- ComboBox信息读取
- linux定时任务被挖矿修改,Linux挖矿威胁情报分享(被植入计划任务)
- GB4706标准全集 家用和类似用途电器
- C语言逻辑运算符,位运算符总结
- JavaScript音频编辑
- 如何通过网页超链接控制电脑应用程序
- ccf 命令行选项 java,DiskPart 命令行选项
- pycharm前进、后退快捷键
- 基于WT588F02B语音芯片的智能语音感应洗手液器设计方案
- 智能手机与个人计算机有什么区别,请问智能手机与非智能手机的区别!
- 计算机表示图形的几种方法。
- 离一线城市越来越远?对不起,杭州没那么不堪
热门文章
- 世界坐标系,摄像机坐标系、图像坐标系关系汇总
- JAVA三角海伦公式,海伦公式求三角形面积出错求教
- FCN-加载训练与测试数据
- java 分号 转义_java – 正则表达式和转义和未转义的分隔符
- mysql工具的使用_产品操作MySQL入门篇-工具使用
- isfile java_isfile 方法
- Java程序利用POJ读写Excel的.xls或.xlsx文件所需的3个jar包
- vue项目实现列表页-详情页返回不刷新,再点其他菜单项返回刷新的需求
- xxx.jar 中没有主清单属性
- 安装redis出现cc adlist.o /bin/sh:1:cc:not found