Chapter 10. @Form

This is a RESTEasy-specific annotation that allows you to reuse any @*Param annotation within an injected class. RESTEasy instantiates the class and injects values into any annotated @*Param or @Context property. This is useful if you have many parameters on your method and you want to condense them into a value object.
public class MyForm {

   @FormParam("stuff")
   private int stuff;


   @HeaderParam("myHeader")
   private String header;


   @PathParam("foo")
   public void setFoo(String foo) {...}
}



@POST
@Path("/myservice")
public void post(@Form MyForm form) {...}
When someone posts to /myservice, RESTEasy instantiates an instance of MyForm and injects the form parameter stuff into the stuff field, the header myheader into the header field, and call the setFoo method with the @PathParam variable of foo.