之前做项目的时候,用SpringMVC的RESTful来做,始终不知道怎么利用表单提交包含数据的REST风格的URL,所以之前的解决办法就是用JQuery的AJAX来动态生成REST风格的URL,再提交。最近闲下来,无聊翻看Jersey的API,发现了一个@FormParam注解,好像还挺管用的→_→
页面表单:
<html>
<body>
<h1>JAX-RS @FormQuery Testing</h1>
<form action="rest/user/add" method="post">
<p>
Name : <input type="text" name="name" />
</p>
<p>
Age : <input type="text" name="age" />
</p>
<input type="submit" value="Add User" />
</form>
</body>
</html>
资源定义:
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
@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();
}
}
如此即定义好了一个服务。并通过@FormParam注解接收表单的值。