代码改变世界

RestEasy 用户指南---第11章 @FormParam

2011-10-13 16:17  Shawn.Cheng  阅读(875)  评论(0编辑  收藏  举报

当你以application/x-www-form-urlencoded格式去编码,并将这些内容放在请求的实体(request body)中,例如html的form表单。你可以将自主定制的参数传入到方法的参数中。

<form method="POST" action="/resources/service"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> </form> 

  


如果你是使用form的表单提交,服务端将会是下边的形式

@Path("/") public class NameRegistry { @Path("/resources/service") @POST public void addName(@FormParam("firstname") String first, @FormParam("lastname") String last) {...}

  


当FormParam以默认的application/x-www-form-urlencoded形式提交后在服务端不能反序列化MultivaluedMap<String,String>,这是非法的。

@Path("/") public class NameRegistry { @Path("/resources/service") @POST @Consumes("application/x-www-form-urlencoded") public void addName(@FormParam("firstname") String first, MultivaluedMap<String, String> form) {...} 

  



第11章完