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 如:
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注解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Struts2配置文件详解

解决在断网环境下,配置文件无提示的问题我们可以看到Struts.xml在断网的情况下,前面有一个叹号,这时,我们按alt/ 没有提示,这是因为” http://struts.apache.org/dtds/struts-2.0.dtd”是一个网络地址,如果上网的话,IDE会自动帮我们下载此文件,如果断网就没有办法了,但是我们还…

mysql插入图片数据

import java.sql.*; import java.util.Scanner; import java.io.*; public class mysql插入图片 { private static final File File null;private static String String;public static Connection getConn() { Connection conn null; try { Class.forName("com.…

mybatis插入图片处理--mysql

1. 数据库Scheme 1.数据库SchemeDROP TABLE IF EXISTS user_graphic_t; /*!40101 SET saved_cs_client character_set_client */; /*!40101 SET character_set_client utf8 */; CREATE TABLE user_graphic_t ( id int(11) NOT NULL AUTO_INCREMENT, graph…

careercup-高等难度 18.6

18.6 设计一个算法&#xff0c;给定10亿个数字&#xff0c;找出最小的100万个数字。假定计算机内存足以容纳全部10亿个数字。 解法&#xff1a; 方法1&#xff1a;排序 按升序排序所有的元素&#xff0c;然后取出前100万个数&#xff0c;时间复杂度为O(nlog(n)) 方法2&#xff…

不浮躁的社会是什么样的?

不浮躁就是该吃饭吃饭&#xff0c;该睡觉睡觉。该看书看书&#xff0c;该洗澡洗澡。聊事时聊事&#xff0c;陪朋友时陪朋友。万事各得其所&#xff0c;各安其分&#xff0c;专心在此时此刻&#xff0c;做每一件事。而不是吃饭时想着别人的鱼翅海参&#xff0c;睡觉时想着发票报…

java jre 中导入导出证书

导入证书&#xff1a; 将所要导入的证书放到Javahome的jre/lib/security文件夹中 运行命令jre/bin/keytool-import -alias cacerts -keystore cacerts -file 证书名称 输入默认密码&#xff1a;changeit 导入过程中会交互询问是否信任该证书&#xff0c;输入 yes 导出证书 …

各种类库网址学习

http://shouce.jb51.net/net/index.html转载于:https://www.cnblogs.com/chenls/p/4362730.html

图片的base64编码实现以及网页上显示

生成、解析base64编码的图片 //图片转化成base64字符串 public static String GetImageStr(<span style"font-family: Arial, Helvetica, sans-serif;">String imgFile</span><span style"font-family: Arial, Helvetica, sans-serif;">…

nginx windows 下安装和配置

去nginx官网下载相应的版本 下载地址&#xff1a;http://nginx.org/download/nginx-1.6.2.zip 下载完成解压放到你喜欢的目录下&#xff1b;楼主的放到了F:\nginx 进入windows的cmd窗口&#xff0c;输入如下所示的命令&#xff1a; C:\Users\YiXian>F: F:\>cd nginx s…

c/c++学习书籍

一、c Primer . 目录内容关键字第一章 面向过程编程&#xff0c;面向对象编程&#xff0c;泛型 转载于:https://www.cnblogs.com/bzsh/p/4362930.html

applicationContext.xml 配置文件的存放位置

web.xml中classpath:和classpath*: 有什么区别? classpath&#xff1a;只会到你的class路径中查找找文件; classpath*&#xff1a;不仅包含class路径&#xff0c;还包括jar文件中(class路径)进行查找. 存放位置&#xff1a; 1&#xff1a;src下面 需要在web.xml中定义如下&…

完美攻略心得之圣魔大战3(Castle Fantisia)艾伦希亚战记(艾伦西亚战记)包含重做版(即新艾伦希亚战记)...

&#xff08;城堡幻想曲3&#xff0c;纠正大家个错误哦&#xff0c;不是圣魔大战3&#xff0c;圣魔大战是城堡幻想曲2&#xff0c;圣魔大战不是个系列,艾伦西亚战记艾伦希亚战记,一个游戏日文名&#xff1a;タイトル キャッスルファンタジア &#xff5e;エレンシア戦記&#x…

费波纳茨

//非递归实现static int[] fun(int num){int result[] new int[num];for (int i 1; i < num; i) {if(i<3){result[i-1]i-1;}else{result[i-1]result[i-2]result[i-3];}}return result;} //递归实现static int method(int num){int result 0;if(num < 2){result --n…

Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别

初接触Hadoop技术的朋友肯定会对它体系下寄生的个个开源项目糊涂了&#xff0c;我敢保证Hive,Pig,HBase这些开源技术会把你搞的有些糊涂&#xff0c;不要紧糊涂的不止你一个&#xff0c;如某个菜鸟的帖子的疑问&#xff0c;when to use Hbase and when to use Hive&#xff1f;…

可变形参

public class TestVarargs {/*** param args* YiXian* 2015-3-11*/public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("the program starting>>>>>>>>>>>");test(2,"java权威指…

解决android中Layout文件下的xml文件配好后,R类中不能自动生成相应代码

不能更新的原因: 1.在xml文件中代码错误或者格式错误 2.eclipse 编译器是老版本 3.布局文件的文件名有大写字母 4.含有相同文件名、格式的xml文件解决方法: 1.找到出错的xml文件中的错误代码格式改正&#xff0c;并执行project —clean 操作 2.eclipse 选择Project--Bu…

逻辑运算与位移运算

异或运算True ⊕ False TrueFalse ⊕ True TrueFalse ⊕ False FalseTrue ⊕ True False同或运算True ⊙ False FalseFalse ⊙ True FalseFalse ⊙ False TureTrue ⊙ True Ture或运算True || False TrueFalse || True TrueFalse || False FalseTrue || True Tru…

log4net 日志框架的配置

log4net 日志框架的简单配置 添加对log4net程序集的引用 选择程序集文件添加引用即可&#xff0c;需要注意的是需要添加相应程序版本的程序集&#xff0c;如果你的应用是基于.netFramework2.0&#xff0c;则应选择net 2.0版本的程序集 修改配置文件&#xff0c;配置log4net相…

原码 反码 补码

一.机器数和真值 机器数&#xff1a; 由于一些硬件的限制计算机只能识别二进制数据&#xff0c;因此在计算机中只会存储二进制数据&#xff1b;机器数是带符号的&#xff0c;在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如&#xff0c;十进制中的数 7&#xff0…

CSS 设计指南(第3版) 初读笔记

第1章 HTML标记与文档结构 关于<title>标签&#xff1a;搜索引擎会给<title>标签中的文字内容赋予很高的权重。而且这些文字也会作为网页标题出现在搜索结果列表中。 无论你想了解哪个HTML元素&#xff0c;第一个要问的问题都应该是&#xff1a;它是块元素&#xf…