`

JAX-RS之@formparam和@HeaderParam

阅读更多
今天继续学习JAX-RS中的@formparam和@headerparam

1 @formparam
    其功能是可以将前端的HTML绑定,先看例子

 

html>
<body>
	<h1>JAX-RS @FormQuery Testing</h1>
 
	<form action="rest/user/add" method="post">
		
			Name : <input type="text" name="name" />
		

		
			Age : <input type="text" name="age" />
		

		<input type="submit" value="Add User" />
	</form>
 
</body>
</html>


   处理:
  
@Path("/user")
public class UserService {
 
	@POST
	@Path("/add")
	public Response addUser(
		@FormParam("name") String name,
		@FormParam("age") int age) {
 
		return Response.status(200)
			.entity("addUser is called, name : " + name + ", age : " + age)
			.build();
 
	}



  对于前端的HTML浏览,比如:
   http://localhost:8080/RESTfulExample/UserForm.html
  会出现普通的HTML表单,当提交按钮时,会转到
http://localhost:8080/RESTfulExample/rest/user/add
这个URL,这样,REST就去匹配addUser方法了,所以就会把表单中提交的数据输出。


2 在JAX-RS中,有两种方法能取得HTTP REQUEST头,
  1)@headparam
  

@Path("/users")
public class UserService {
 
	@GET
	@Path("/get")
	public Response addUser(@HeaderParam("user-agent") String userAgent) {
 
		return Response.status(200)
			.entity("addUser is called, userAgent : " + userAgent)
			.build();
 
	}


  当访问URL:
  /users/get
会输出HTTP 头信息,即:
  addUser is called, userAgent : Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0

   另外的方法是,
@Path("/users")
public class UserService {
 
	@GET
	@Path("/get")
	public Response addUser(@Context HttpHeaders headers) {
 
		String userAgent = headers.getRequestHeader("user-agent").get(0);
 
		return Response.status(200)
			.entity("addUser is called, userAgent : " + userAgent)
			.build();
 
	}


   也可以同样达到目的
2
1
分享到:
评论

相关推荐

    JAX-RS方式的RESTful Web Service开发

    **JAX-RS方式的RESTful Web Service开发详解** ...JAX-RS是Java API for RESTful Web Services的简称,它...对于源码和工具的研究,读者可以通过查看提供的`src`压缩包文件中的示例代码,进一步理解和实践JAX-RS的使用。

    web-service-jax-rs:使用jax rs创建Web服务的教程

    此外,JAX-RS还支持其他高级特性,如类型安全的自动绑定、异常处理、过滤器和拦截器、以及XML和JSON的自动序列化与反序列化。例如,我们可以使用`@Produces`和`@Consumes`注解来指定服务返回的数据格式和接受的请求...

    quick-start-jax-rs

    例如,`@PathParam`用于从URL路径中获取参数,`@QueryParam`从查询字符串获取参数,`@FormParam`处理POST请求中的表单数据,而`@HeaderParam`则可以从HTTP头中提取信息。 总的来说,JAX-RS提供了一种强大的、声明式...

    JAXRS.:REST式Web服务API中新增的和值得关注的功能.ppt

    JAX-RS中的一些注解如`@PathParam`、`@QueryParam`、`@CookieParam`、`@HeaderParam`、`@FormParam`和`@MatrixParam`用于从HTTP请求中提取数据。例如,`@PathParam`用于从URI模板中提取值,`@QueryParam`用于获取...

    api-doclet:Doclet 从 JAX-RS 2、BeanValidation、JavaDoc 标签收集各种信息

    信息来源JAX-RS 2.0 注释 ( ) 支持的注释: 标准方法代号 自定义方法指示符(注解 ) 参数@PathParam @QueryParam @FormParam @HeaderParam @CookieParam @MatrixParam @DefaultValue HTTP 正文有效负载尚不支持: @...

    Netty-Resteasy-Spring

    @PathParam,@QueryParam,@HeaderParam,@CookieParam,@MatrixParam,@FormParam,分别标注方法的参数来自于HTTP请求的不同位置,例如@PathParam来自于URL的路径,@QueryParam来自于URL的查询参数,@HeaderParam...

    用-Java-技术创建-RESTful-Web-服务.doc

    - JAX-RS 支持从请求 URI 解析参数,如 `@PathParam` 用于获取路径参数,`@QueryParam` 用于获取查询参数,`@HeaderParam` 用于获取请求头信息,`@FormParam` 用于处理表单数据。 3. **媒体类型处理**: - `@...

    RestDev:Little JAX-RS 和 Java EE7 Rest App

    3. **JAX-RS 2.0**: 更新了JAX-RS规范,增加了`@FormParam`注解,支持表单数据,以及`@RolesAllowed`进行权限控制。 4. **JSON Processing (JSR 353)**: 为处理JSON数据提供了新的API,简化了JSON对象的创建和解析。...

    resteasy技术说明

    - **@PathParam, @QueryParam, @HeaderParam, @CookieParam, @MatrixParam, @FormParam**:这些注解用于从请求的不同部分获取参数,如 URL 路径、查询参数、头信息、Cookie 等。 ## 配置 RESTEasy RESTEasy 的配置...

    RestEasy使用说明

    - `@PathParam`, `@QueryParam`, `@HeaderParam`, `@CookieParam`, `@MatrixParam`, `@FormParam`:这些注解用于获取请求中的不同部分的数据,如URL参数、查询参数、头部信息等。 **配置RESTEasy** 在Web应用的`...

    resteasy2.2.1官方jar包

    2. **注解驱动**:Resteasy支持多种JAX-RS注解,如`@Path`、`@PathParam`、`@QueryParam`、`@HeaderParam`、`@CookieParam`和`@FormParam`,用于处理HTTP请求的不同部分,如路径参数、查询参数、头信息和表单数据。...

    webService

    - 注解参数:使用`@PathParam`, `@QueryParam`, `@HeaderParam`, `@FormParam`等注解接收请求参数。 - 返回响应:通过`Response`对象或直接返回对象来构造响应。 ### 5. Tomcat与WebService Tomcat作为流行的Java ...

    resteasy guide

    RESTEasy使用JAX-RS标准注解如`@Path`、`@GET`、`@POST`等来标记资源和操作。`@Path`用于指定资源的URL路径,而`@GET`、`@POST`等则用于映射HTTP方法。 #### 5. @PathParam `@PathParam`注解用于从URL路径中提取...

    cxf REST文档

    CXF全面支持JAX-RS,包括其核心注解,如`@Path`, `@PathParam`, `@QueryParam`, `@HeaderParam`, `@CookieParam`, 和 `@FormParam`等。 五、CXF与WS-Security CXF提供了对WS-Security的支持,可以在REST服务中实现...

    jersey-example

    - **高级注解**:如 `@PathParam`、`@QueryParam`、`@FormParam`、`@HeaderParam` 等,用于从请求中获取参数。 - **安全与认证**:结合 OAuth2、JWT 或其他机制实现身份验证和授权。 - **服务版本控制**:通过 URL ...

    resteasy开发手册

    最后,手册介绍了JAX-RS资源定位器和子资源的概念。 整体而言,RESTEasy开发手册是一份全面的技术文档,它不仅涵盖了RESTEasy的基础知识和安装配置,还深入讲解了如何使用RESTEasy进行RESTful Web Services的开发,...

    Resteasy英文文档

    Resteasy JAX-RS为Java开发者提供了构建RESTful Web服务的能力,其版本3.0.1.Final涵盖了广泛的特性和功能,旨在提高开发效率和灵活性。 ### 二、许可证 Resteasy遵循特定的许可证协议,确保了开发者可以合法地...

    resteasy-reference-guide-en-US

    ### RESTEasy JAX-RS:RESTful Web Services for Java #### 概述 RESTEasy是一个为Java开发人员提供创建RESTful Web服务的强大框架。它基于JAX-RS规范(JSR 311 和 JSR 339),并且包含了丰富的功能集来支持HTTP...

    resteasy-example:基本的 JBoss ReseEASY 示例项目

    RESTEasy 是 JAX-RS 规范的实现之一,提供了许多附加功能,如拦截器、注解、转换器和集成其他技术(如 Jackson JSON 处理库)。 **Jackson** Jackson 是一个流行的 Java JSON 库,它允许将 Java 对象序列化为 JSON...

Global site tag (gtag.js) - Google Analytics