RESTEasy 参数注解
https://www.cnblogs.com/chen-lhx/p/5599806.html
在第一RESTEasy教程我们已经学习了基本的Web服务和休息我们已经测试了一个简单的REST风格的Web服务。在本教程中,我们将
显示如何将Web应用程序元素(形式参数,查询参数和更多)为REST风格的Web服务。
你可以使用下面的注释绑定HTTP请求REST风格的Web服务:
@FormParam
@PathParam
@QueryParam
@HeaderParam
@CookieParam
@MatrixParam
让我们探索所有可能的相互作用。
@FormParam
@formparam可以用来注入web表单的参数为REST风格的Web服务。
下面是一个例子:
在这里,我们提交一个后请求包含两个参数的电子邮件和密码
是转化为参数的“E”和“P”的登录方法。
这里是完整的例子:
<form method="POST" action="login">Email Address: <input type="text" name="email"><br>Password: <input type="text" name="password"><input type="submit"> </form>
@Path("/") public class LoginService {@POST
@Path("login")
public String login(@FormParam("email") String e, @FormParam("password") String p) { return "Logged with " + e + " " + p; }}
作为一种替代方法,您可以在类级别上绑定参数电子邮件和密码,如果您需要在不同的其他参数重新使用相同的参数,可以使用它是有用的
服务方法。
public class User {@FormParam("email")private String email;
@FormParam(“password”)
private String password;
}
你需要修改相应的方法:
@POST@Path("login")public String login(@Form User form) {return "Logged with " + form.email + " " + form.password;}
@PathParam
@pathparam标注绑定一个路径段资源的方法参数的值。例如,下面的方法将拦截HTTP GET http://server:port/login/12345
“12345”@pathparam转换为字符串“id”
@Path("/") public class LoginService {@GET@Path("login/{zip}")public String login(@PathParam("zip") String id) {return "Id is " +id;} }
作为@formparam,你可以嵌入@pathparam声明在类级别上,如果你喜欢。
@QueryParam
@queryparam 标注绑定一个路径段资源的方法参数的值。例如,下面的方法将拦截HTTP GET http://server:port/login?zip=12345 和
将查询参数 “zip” 注入到方法参数 “zip”
@Path("/") public class LoginService {@GET@Path("login/{zip}")public String login(@QueryParam("zip") String zip) {return "Id is " +id;} }
@queryparam可以方便快捷使用defaultValue标注以便你能如果没有查询参数是通过避免空指针异常。
@GET@Path("login/{zip}")public String login(@DefaultValue("11111") @QueryParam("zip") String zip) {return "Id is " +id;}
作为@formparam,你可以嵌入@pathparam声明在类级别上,如果你喜欢。
@HeaderParam
@headerparam 标注提取 HTTP标头( HTTP header)并将它绑定到一个方法的参数。
例子:
@GET public String callService(@HeaderParam("User-Agent") String whichBrowser) {... }
@CookieParam
@cookieparam注释读取信息存储为一个cookie,并将它绑定到一个方法的参数。例子:
@GET public String callService(@CookieParam("sessionid") String sessionid) {... }
@MatrixParam
@matrixparam注释可以用来绑定包含多个 property (属性)=value(值) 方法参数表达式。例如,假设你要调用一个网址 http://server:port/login?name=francesco&surname=marchioni
@GET public String callService(@MatrixParam("name") String name,@MatrixParam("surname") String surname) { ... }
RESTEasy 参数注解相关推荐
- python语言的变量随时_Python参数注解
#### 1.函数定义的弊端 - python是动态语言,变量随时可以被赋值,且能赋值为不同的类型,动态语言很灵活,但是这种特性也是弊端: - **难发现**:由于不做任何类型检查,直到运行期问题才显 ...
- java自定义方法参数注解_Java方法中的参数太多,第1部分:自定义类型
java自定义方法参数注解 我认为构造函数和方法中冗长的参数列表是Java开发中的另一个" 危险信号 ",就逻辑和功能而言,它们不一定是"错误的",但通常暗示当 ...
- python参数注解
函数定义的弊端: python是动态语言,变量随时可以被赋值,且能赋值为不同的类型,动态语言很灵活,但是这种特性也是弊端 难发现:由于不做任何类型检查,直到运行期问题才显现出来,或者线上运行时才能暴露 ...
- x264(一)-x264参数注解:x264_param_t
x264参数注解:x264_param_t typedef struct x264_param_t { // CPU 标志位 */ unsigned int cpu; int i ...
- java 获取自定义参数类型_Springboot中使用自定义参数注解获取 token 中用户数据...
使用自定义参数注解获取 token 中User数据 使用背景 在springboot项目开发中需要从token中获取用户信息时通常的方式要经历几个步骤 拦截器中截获token TokenUtil工具类 ...
- Retrofit 网络请求参数注解@Path @Field @Query 等使用
请求参数呢大致如下,到个别人的图, 下面就说下这些内容使用 其中 @Path.@Query.@QueryMap 使用 Get 请求 , 加入使用了Post 请求注解使用@Path 一般都会是项目崩溃 ...
- java参数注解pam_吃透Java基础十:注解
一.什么是注解 官方定义: 注解是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释的代码本身的一部分.注解对于代码的运行效果没有直接影响. 注解有许多用处,主要如下: 提供信息给编译器: ...
- Swagger使用————接口参数注解的使用缺陷
问题描述 在使用springboot开发web项目时,用到了swagger框架,来生成web api文档.但是其中有一项是举例说明参数的结构,如下图: 但是,这个功能真的是非常方便,因为可以让前端开发 ...
- spring多参java注解_spring参数注解校验
在写一些controller协议的时候,有些时候从前端传过来的参数较多,好的办法是定义一个实体类来封装请求参数,但是用实体类封装参数后,无法对参数值进行校验,可以使用spring的@Validated ...
最新文章
- poj-1031-fence(不是我写的,我只是想看着方便)
- 呵呵,又在这里开了个博客,现在已经有好几个了
- Matplotlib实例教程(十)边缘直方图
- Oracle-多表连接的三种方式解读
- JSP、ASP、PHP Web应用程序怎么这么多P!
- 【云栖大会】用爱成就彼此 距云栖大会还有10天
- 在Spark Scala/Java应用中调用Python脚本,会么?
- Vue2.0用户权限控制解决方案
- 虚拟机迁移Sphere vMotion
- 阿里云Anolis OS 8.4
- 惊呆!200行代码就能实现的隐身术你见过么?
- 【电脑办公软件有哪些】万彩办公大师教程丨重复音频文件探测工具
- 农业科研:大田作物智慧种植
- ieee 754 java_IEEE 754到十进制
- 642-825 认证题库
- HTTPS协议工作原理(SSL数字证书)
- c++ pair 用法详解
- 测试服务器并发量和承载力(压力测试)
- 详解操作系统中的接口
- matplotlib.plot显示希腊字母及标题中的平方函数
热门文章
- c# 未能找到类型或命名空间名称“ManagementClass”(是否缺少 using 指令或程序集引用?)
- 叮咚,你的耳鼻喉专科医院营销策略快来查收
- ASH(Active Session History)
- mac 安装 docker教程
- 4.思科路由器基本配置及排除题目练习
- 求生之路显示服务器的指令,求生之路的所有控制台指令!
- 目标真实IP查找方法整理
- Python rstrip函数踩坑记录
- 腾讯云服务器/Windows Server 2012 R2 上搭载web服务 动态图图解(http协议)# 谭子
- 北京地铁,2号线换乘13号线,用时最短换乘线路