jersey REST的接口简述
GET方法:只读,是幂等和安全的。在接口中抽象地定义了资源的请求方法类型后,其全部实现类都无须再定义。
HEAD方法:与GET方法相似,只是服务器端的返回值不包括HTTP实体。
OPTIONS方法:与GET方法相似,用于读取资源所支持的所有HTTP请求方法。
PUT方法:PUT方法是幂等的,即多次插入或者更新同一份数据,在服务器对资源状态所产生的改变是相同的。PUT方法是不安全的,有写动作的HTTP方法都不是安全的。
PUT方法主要用于更新或添加资源。对于非安全的HTTP方法,需要考虑请求实体媒体类型和响应实体媒体类型。请求实体类型使用HTTP头的CONTENT TYPE定义,响应实体媒体类型使用HTTP头的ACCEPT定义。
DELETE方法:是幂等的,即多次删除同一份数据,在服务器端产生的改变是相同的。当响应实体为空时,HTTP状态码为204.
POST方法:是一种写操作的HTTP请求(RPC的所有写操作均使用POST方法,而REST只使用HTTP的POST方法添加资源)。POST既不幂等也不安全,因为请求会改变服务器端的状态,每次请求对服务器端资源状态的改变并不是相同的。
@QueryParam:查询条件决定了方法的作用域,查询参数组成了查询条件。@QueryParam("参数名称") final 参数类型 参数变量
@PathParam:定义路径参数--每个参数对应一个子资源。
@Path:接收一个VALUE参数,来解析资源路径地址,这个VALUE参数即可以是静态定义也可以动态变量的方式,其格式:{参数名称:正则表达式}
例:@GET
@Path("form:\\d+}-{to:\\d+}")
public String getMothed(@PathParam("form") final Integer form,@PathParam("to") final Integer to){.....}
@PathSegment:路径区间,使资源类的一个方法可以支持更广泛的资源地址的请求。@PathSegment类型的参数结合正则表达式发挥的作用更大。对于每一个PathSegment实例,可以调用其getPath方法获取子资源的名称。
例:@GET
@Path("{region:.+}/varvalue/{district:\\w+}")
public String getByAddress(@PathParam("region") final List<PathSegment> region,@PathParam("district") fianl String district){
final StringBuilder result=new StringBuilder();
for (final PathSegment pathSegment:region){
result.append(pathSegment.getPath()).append("-");
}
}
另:对于查询参数动态给定的场景,可以定义PathSegment作为参数类型,通过getMatrixParameters()方法获取MultivaluedMap类型的查询参数信息,即可将参数条件作为一个整体解析。
@FormParam:用来定义表单参数,相应的REST方法用以处理请求实体媒体类型为Content-Type:application/x-www-form-urlencoded的请求。
例:@Path("form-resource")
public class FormResource{
@POST
public String newPassWord(
@DefaultValue("默认值") @FormParam(FormResource.USER) final String user,
@Encoded @FormParam(FormResource.PW) final String password
){ ....... }
}
@BeanParam:用于自定义参数组合,可以使用简洁的参数形式完成复杂的接口设计。
@GET
@Path("{region:.+}/shenyang/{district:\\w+}")
Public String getByAddress(@BeanParam Jaxrs2GuideParam param){
public class Jaxrs2GuideParam{
@HeaderParam("accept") private String acceptparam;
@PathParam("Region") private String regionparam;
@Queryparam("station") private String stationparam;
.....
}
@CookieParam:用以匹配Cookie中的键值对信息。
例:
@CookieParam("Cookie名称") final String Cookie变量名称
@Context:用于解析上下文参数。通过@Context定义的方法的参数或者类的字段用于某些业务逻辑处理中常用的辅助信息的获取。
转载于:https://www.cnblogs.com/wangorg/p/4089603.html
jersey REST的接口简述相关推荐
- android jersey 上传图片,图片上传--Jersey实现RESTful接口
上次利用SpringMVC实现图片上传,这个是客户端将图片和其他字段一起上传然后一起处理的.(有什么坏处暂时也没有想到)总之这次的希望能够将图片存储的服务独立出来,暂时用Jersey实现一个接口(老大 ...
- GBase 8c开发接口简述
GBase 8c接口驱动可以有效实现对上层应用请求的负载均衡. ODBC GBase 8c ODBC是GBase 8c的ODBC驱动程序,它提供了访问GBase 8c的所有ODBC功能.GBase 8 ...
- java入门之接口----以电脑USB为灯供电为例
接口简述: 接口可以简单理解为规范,规则.接口是一种特殊的类. 代码格式: interface 接口名{ 规则属性,规则的行为 } 规则属性为常量,接口行为是抽象方法. 接口性质: 所谓的接口,可以简 ...
- ESB接口调用异常汇总
文章目录 一.ESB接口前置知识 1. ESB接口简述 2. 生成的代码组成部分 二.常见的异常汇总 2.1. 场景1:不能解析某域名 2.2. 场景2:调用服务连接超时 三.调用服务前异常 3.1. ...
- 2018.03.03、android-照虎画猫搭建简易Rest服务器
一.前言 对于android开发人员经常需要一个测试的接口来进行网络请求的测试,每次都需要自己上网查找合适的接口.对于开发者来说太浪费自己的宝贵时间了.基于此 一直想做一个属于自己管控服务器. 二.搭 ...
- 计算机网络部分简答题
网络协议三要素 语法 数据与控制信息的结构或格式 语义 要发出何种控制信息,完成何种动作,回应何种应答 时序 事件的实现顺序的详细说明 对于复杂的计算机网络协议,其结构最好使用层次式的. 物理接口有哪 ...
- glassfish_多种监视和管理GlassFish 3的方法
glassfish GlassFish 3支持多种监视和管理方法. 在本文中,我将简要介绍GlassFish提供的管理,监视和管理方法. GlassFish管理控制台 GlassFish基于Web的管 ...
- 监视和管理GlassFish 3的多种方法
GlassFish 3支持多种监视和管理方法. 在本文中,我将简要介绍GlassFish提供的管理,监视和管理方法. GlassFish管理控制台 GlassFish基于Web的管理控制台GUI可能是 ...
- uni-app 微信小程序授权登录
文章目录 一.appID相关申请和配置 1. appid获取方式 2. appID配置 二.获取用户基础数据 2.1. 获取用户信息 2.2. 获取用户信息2 三.调用登录api 3.1. 登录api ...
最新文章
- C#(WinForm)实现软件注册
- Python词频对比并导入CSV文件
- C# ListView 简单命令例子
- js操作table中tr的顺序,实现上移下移一行的效果
- 织梦在线报名平台php,DedeCMSv5
- 零基础学习Python文本处理
- 安装SQL SERVER2016或者2017时 安装程序无法与下载服务器联系 Microsoft R Server
- UDP数据包的产生和发送
- 使用栈完成高级计算器
- python相关性分析的散点图怎么做_相关性分析 散点图
- 收集UE4 优化Tips
- 关于BD文件的一些操作
- Triggers — 触发响应
- Android开发添加QQ群 跳到QQ聊天页面
- 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来
- C++内存写越界导致堆内存被破坏致使new失败的问题定位总结
- 谷歌验证码,国内各种验证码识别
- 移动端开发 面试技巧和注意事项
- R语言采用优化方法拟合曲线并计算AIC,BIC,LRT
- python程序设计基础课后答案-清华大学出版社-图书详情-《Python程序设计习题解析》...
热门文章
- 2021全国计算机一级考试试题,2021年全国计算机等级考试一级真题附答案-20210414083709.pdf-原创力文档...
- oracle分区键使用教程,Oracle表分区学习笔记
- ajax fetch api,fetch 简介: 新一代 Ajax API
- 动手学深度学习Pytorch Task07
- ElementUI-学生管理系统后台实例
- Python下的云计算(OpenStack技术书籍)
- Kettle 简介和实例
- 设计模式原则之五:里氏置换原则
- 计算机应用基础进制转换说课稿,计算机应用基础信息技术基础《进制转换》教案.doc...
- 装饰器python的通俗理解_Python装饰器的通俗理解