RESTEasy配置以及注解
来源:互联网 发布:eia数据公布时间 编辑:程序博客网 时间:2024/06/05 19:33
RESTEasy
近期在学习RESTful设计模式,但是看得云里雾里,于是找了这个运用该模式的接口规范来配合学习,效果不错。
常用注解
RESTEasy以jaxrs-api.jar包为基础对JAX-RS进行实现,该包中包含了JAX-RS规范所声明的注解。
注解列表
这里我们根据3.0.7.Final这一版本对一些常用注解进行说明,以下是注解列表,请进行参考阅读:
注解 描述 参数 @ApplicationPath标注资源的root路径,加载子资源文件value@Path标注普通资源路径value@GET获取 @POST添加 @PUT整体更新 @PATCH部分更新(resteasy中并没有) @DELETE删除 @PathParam资源路径参数value@QueryParam资源请求参数value@MatrixParam标注请求资源key-value类型的参数value@FormParam标注表单参数value@Encoded标注需要UrlEncode的元素 @Context在参数列表注入系统级别参数javax.ws.rs.core.HttpHeaders, javax.ws.rs.core.UriInfo, javax.ws.rs.core.Request, javax.servlet.HttpServletRequest, javax.servlet.HttpServletResponse, javax.servlet.ServletConfig, javax.servlet.ServletContext, and javax.ws.rs.core.SecurityContext objects @CookieParam标注需要获取的cookie参数value@Consumes指定client请求数据类型,与client的Content-Type匹配value[]@Produces指定client接收数据类型,与client的Accept匹配value[]@HeaderParam标注需要获取的header参数value@DefaultValue标注默认值value@Form标注表单对象,对象中的表单属性需要@FormParam进行标注
使用方法
@ApplicationPath
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
在使用RESTEasy进行应用启动的时候,需要指明其请求根路径,这里既需要用到@ApplicationPath
注解。
新建一个资源处理类OperationApplication继承Application,
标注类级别注解@ApplicationPath
,用以声明根路径,
重写getSingletons()方法,用以获取资源容器
在构造器中加载Library和BookStoreImpl两份资源,只有在此添加的资源才能被访问
@Path,@GET,@PUT,@DELETE,@POST
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
@Path是类与方法级别
使用@Path
注解标识访问路径,该路径基于@ApplicationPath
提供的根路径
@GET,@PUT,@DELETE,@POST为方法级别
这四个注解是http rest注解,用在实际动作上
@PathParam,@QueryParam
···
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
···
通过声明@Pathparam
参数名可以更方便的获取路径上的参数,
路径参数可以直接声明,也可以声明后通过正则进行约束,如@Path("/book/{var: .*}/{isbn}")
,这里声明了var和isbn两个路径参数,var参数会捕获输入路径中满足冒号后正则的部分作为value
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
上一片段对应的请求为:
- 1
- 2
- 3
通过PathSegment类的使用可以将路径参数进行map映射,按照上面的请求写法,会将参数name和title进行键值映射
@MatrixParam
- 1
- 2
- 3
- 4
- 5
- 6
使用@MatrixParam可以获取下面这种资源写法的请求参数:
- 1
- 2
- 3
@FormParam,@DefaultValue
- 1
- 2
- 3
- 4
- 5
- 6
- 7
作为form提交的参数@FormParam
可以根据名称进行获取,@DefaultValue
在未传入相应参数时可以赋予其默认值
@Consumes
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
@Consumes
对请求参数格式进行约束
在进行form提交时,MultivaluedMap
@Form
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
使用@Form
可以将form参数直接映射为对象 但是该对象需要进行相关标注。
新建Book.java,用@FormParam对其进行参数标注
,在资源中即可运用@Form
在参数列表中对Book book
进行标注,请求中的符合Book属性的参数会作为Book实例的属性被接收
- 1
- 2
- 3
- 4
- 5
- 6
- 7
@Context,@Encoded
- 1
- 2
- 3
- 4
- 5
- 6
- 7
@Context在参数列表注入系统级别参数,如上,将javax.ws.rs.core.HttpHeaders进行嵌入。
@Encoded对当前的pathparam name进行urlencode,接收后的name参数是encode后的字符串
@Produces
- 1
- 2
- 3
- 4
- 5
- 6
- 7
@Produces与@Consumes用法相同,只不过是进行返回数据格式的匹配,它们的参数为字符串数组
注:暂且说到这里,后续补充
- RESTEasy配置以及注解
- RESTEasy 的注册以及配置
- Resteasy常用注解
- RESTEasy注解及使用
- Resteasy配置及其使用
- RestEasy的WEB配置
- 翻译restEasy--配置概述
- Resteasy配置及其使用
- resteasy配置与使用
- Resteasy的rest url配置
- resteasy-spring + springmvc + extdirectspring配置
- RESTEasy通过接口管理配置
- RESTEasy的一些事情--配置
- RESTeasy
- Resteasy
- resteasy
- spring 事务注解配置以及实践
- spring boot:配置mybatis以及注解事务
- Docker stop停止/remove删除所有容器
- [Leetcode] 485. Max Consecutive Ones 解题报告
- 关于<TabNavigator>的item的一些用法 例如传递navigation
- Chasm.Ventsim.Visual.Premium.v3.8.3.0.build.10.10.2014.x86.x64\
- grep 介绍
- RESTEasy配置以及注解
- 字典Dict 判断指定键值是否存在
- CentOS安装scp命令
- applicationContext.xml配置业务层时候,显示找不到数据层的某某DAO的bean
- 想自杀?没门!Facebook利用AI预测用户自杀倾向
- mongodb数据库在linux下定时进行备份与清除
- Java Head First 第六章 认识java的API
- Markdown使用简介
- RSA crt 签名与验签 systemverilog DPI 制作以及openssl genrsa生成RSA私钥与签名验证指令dgst使用