JAX-RS:参数注入
2014-06-05 15:17
204 查看
在《JAX-RS3:路径匹配》中,我们已经见过如何使用
URI 中的路径参数、矩阵参数和查询参数,以及如何编程访问这些参数。本文介绍表单参数、HTTP 头部参数和 Cookie 参数的注入。
HTTP 请求也可以使用提交表单的方式。这时请求方法一般是 POST,当然春哥也无法阻止你用 GET。在前面我们虽然介绍过处理 POST 请求的例子,但那只是利用了 JAX-RS 对 JAXB 的支持,并没有涉及到对具体请求参数的注入。JAX-RS 提供了
这儿省略了
JAX-RS 还支持文件的上传和下载,以后再介绍。
注入 HTTP 头部参数简单得不能再简单了:
如果有很多头部参数,为了避免臃肿的参数列表,可以注入一个头部对象,然后编程访问头部参数:
注入 Cookie 参数同样的简单:
如果希望编程访问,则可以像编程访问那样注入一个
@PathParam、
@QueryParam和
@MatrixParam分别注入
URI 中的路径参数、矩阵参数和查询参数,以及如何编程访问这些参数。本文介绍表单参数、HTTP 头部参数和 Cookie 参数的注入。
表单参数
HTTP 请求也可以使用提交表单的方式。这时请求方法一般是 POST,当然春哥也无法阻止你用 GET。在前面我们虽然介绍过处理 POST 请求的例子,但那只是利用了 JAX-RS 对 JAXB 的支持,并没有涉及到对具体请求参数的注入。JAX-RS 提供了 @FormParam注解来注入 POST 请求的参数,例如:
@POST public Response createMovie(@FormParam("title") String title) { // 此处省略若干行 }
这儿省略了
@Consumes注解,JAX-RS 会自动默认为
@Consumes(MediaType.APPLICATION_FORM_URLENCODED),也就是
application/x-www-form-urlencoded格式的请求。如果请求格式为
multipart/form-data,就必须显示指明:
@POST @Consumes(MediaType.MULTIPART_FORM_DATA) public Response createMovie(@FormParam("title") String title) { // 此处省略若干行 }
JAX-RS 还支持文件的上传和下载,以后再介绍。
HTTP 头部参数
注入 HTTP 头部参数简单得不能再简单了:@GET @Path("xxx") @Produces(MediaType.TEXT_PLAIN) public String xxx(@HeaderParam("User-Agent") String userAgent) { // 此处省略若干行 }
如果有很多头部参数,为了避免臃肿的参数列表,可以注入一个头部对象,然后编程访问头部参数:
@GET @Path("xxx") @Produces(MediaType.TEXT_PLAIN) public String xxx(@Context HttpHeaders headers) { // 此处省略若干行 }
Cookie 参数
注入 Cookie 参数同样的简单:@GET @Path("xxx") @Produces(MediaType.TEXT_PLAIN) public String xxx(@CookieParam("userName") String userName) { // 此处省略若干行 }
如果希望编程访问,则可以像编程访问那样注入一个
HttpHeaders对象,然后通过它的
getCookies()方法来获取所有的 Cookie。
相关文章推荐
- JAX-RS入门 四: 注入
- JAX-RS入门 四:注入
- JAX-RS入门 四: 注入
- JAX-RS入门 四: 注入
- JAX-RS入门 四: 注入
- JAX-RS入门 四: 注入
- JAX-RS入门 四: 注入
- JAX-RS入门 四: 注入
- JAX-RS入门 四: 注入
- JAX-RS入门 四: 注入
- jax-rs中的一些参数标注简介(@PathParam,@QueryParam,@MatrixParam,@HeaderParam,@FormParam,@CookieParam)
- JAX-RS:@PathVariable @RequestParam @ModelAttribute等参数绑定注解详解
- JAX-RS入门 四: 注入
- JAX-RS 2.0如何验证查询参数
- JAX-RS入门 四: 注入
- jax-rs(Java API for RESTful Web Services) 实践教程 之四 —— @Context注入HttpServletRequest 使REST保持状态!
- JAX-RS: 注入相应的值
- jax-rs(Java API for RESTful Web Services) 实践教程 之五 —— 注入全局变量 和 rest的生命周期
- rs.open与conn.execute参数详细解释
- JAX-RS入门 一 :基础