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
.