今天继续学习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();
}
也可以同样达到目的
分享到:
相关推荐
**JAX-RS方式的RESTful Web Service开发详解** ...JAX-RS是Java API for RESTful Web Services的简称,它...对于源码和工具的研究,读者可以通过查看提供的`src`压缩包文件中的示例代码,进一步理解和实践JAX-RS的使用。
此外,JAX-RS还支持其他高级特性,如类型安全的自动绑定、异常处理、过滤器和拦截器、以及XML和JSON的自动序列化与反序列化。例如,我们可以使用`@Produces`和`@Consumes`注解来指定服务返回的数据格式和接受的请求...
例如,`@PathParam`用于从URL路径中获取参数,`@QueryParam`从查询字符串获取参数,`@FormParam`处理POST请求中的表单数据,而`@HeaderParam`则可以从HTTP头中提取信息。 总的来说,JAX-RS提供了一种强大的、声明式...
JAX-RS中的一些注解如`@PathParam`、`@QueryParam`、`@CookieParam`、`@HeaderParam`、`@FormParam`和`@MatrixParam`用于从HTTP请求中提取数据。例如,`@PathParam`用于从URI模板中提取值,`@QueryParam`用于获取...
信息来源JAX-RS 2.0 注释 ( ) 支持的注释: 标准方法代号 自定义方法指示符(注解 ) 参数@PathParam @QueryParam @FormParam @HeaderParam @CookieParam @MatrixParam @DefaultValue HTTP 正文有效负载尚不支持: @...
@PathParam,@QueryParam,@HeaderParam,@CookieParam,@MatrixParam,@FormParam,分别标注方法的参数来自于HTTP请求的不同位置,例如@PathParam来自于URL的路径,@QueryParam来自于URL的查询参数,@HeaderParam...
- JAX-RS 支持从请求 URI 解析参数,如 `@PathParam` 用于获取路径参数,`@QueryParam` 用于获取查询参数,`@HeaderParam` 用于获取请求头信息,`@FormParam` 用于处理表单数据。 3. **媒体类型处理**: - `@...
3. **JAX-RS 2.0**: 更新了JAX-RS规范,增加了`@FormParam`注解,支持表单数据,以及`@RolesAllowed`进行权限控制。 4. **JSON Processing (JSR 353)**: 为处理JSON数据提供了新的API,简化了JSON对象的创建和解析。...
- **@PathParam, @QueryParam, @HeaderParam, @CookieParam, @MatrixParam, @FormParam**:这些注解用于从请求的不同部分获取参数,如 URL 路径、查询参数、头信息、Cookie 等。 ## 配置 RESTEasy RESTEasy 的配置...
- `@PathParam`, `@QueryParam`, `@HeaderParam`, `@CookieParam`, `@MatrixParam`, `@FormParam`:这些注解用于获取请求中的不同部分的数据,如URL参数、查询参数、头部信息等。 **配置RESTEasy** 在Web应用的`...
2. **注解驱动**:Resteasy支持多种JAX-RS注解,如`@Path`、`@PathParam`、`@QueryParam`、`@HeaderParam`、`@CookieParam`和`@FormParam`,用于处理HTTP请求的不同部分,如路径参数、查询参数、头信息和表单数据。...
- 注解参数:使用`@PathParam`, `@QueryParam`, `@HeaderParam`, `@FormParam`等注解接收请求参数。 - 返回响应:通过`Response`对象或直接返回对象来构造响应。 ### 5. Tomcat与WebService Tomcat作为流行的Java ...
RESTEasy使用JAX-RS标准注解如`@Path`、`@GET`、`@POST`等来标记资源和操作。`@Path`用于指定资源的URL路径,而`@GET`、`@POST`等则用于映射HTTP方法。 #### 5. @PathParam `@PathParam`注解用于从URL路径中提取...
CXF全面支持JAX-RS,包括其核心注解,如`@Path`, `@PathParam`, `@QueryParam`, `@HeaderParam`, `@CookieParam`, 和 `@FormParam`等。 五、CXF与WS-Security CXF提供了对WS-Security的支持,可以在REST服务中实现...
- **高级注解**:如 `@PathParam`、`@QueryParam`、`@FormParam`、`@HeaderParam` 等,用于从请求中获取参数。 - **安全与认证**:结合 OAuth2、JWT 或其他机制实现身份验证和授权。 - **服务版本控制**:通过 URL ...
最后,手册介绍了JAX-RS资源定位器和子资源的概念。 整体而言,RESTEasy开发手册是一份全面的技术文档,它不仅涵盖了RESTEasy的基础知识和安装配置,还深入讲解了如何使用RESTEasy进行RESTful Web Services的开发,...
Resteasy JAX-RS为Java开发者提供了构建RESTful Web服务的能力,其版本3.0.1.Final涵盖了广泛的特性和功能,旨在提高开发效率和灵活性。 ### 二、许可证 Resteasy遵循特定的许可证协议,确保了开发者可以合法地...
- **`javax.ws.rs.core.Application`**:这是一个非常重要的接口,用于配置和启动JAX-RS应用程序。通过实现这个接口并返回`Set<Class<?>> getClasses()`方法,可以指定哪些类将被注册为资源。 - **RESTEasy Logging*...
### RESTEasy JAX-RS:RESTful Web Services for Java #### 概述 RESTEasy是一个为Java开发人员提供创建RESTful Web服务的强大框架。它基于JAX-RS规范(JSR 311 和 JSR 339),并且包含了丰富的功能集来支持HTTP...
RESTEasy 是 JAX-RS 规范的实现之一,提供了许多附加功能,如拦截器、注解、转换器和集成其他技术(如 Jackson JSON 处理库)。 **Jackson** Jackson 是一个流行的 Java JSON 库,它允许将 Java 对象序列化为 JSON...