@Target(value={PARAMETER,METHOD,FIELD}) @Retention(value=RUNTIME) @Documented public @interface BeanParam
The JAX-RS runtime will instantiate the object and inject all it's fields and properties annotated
with either one of the @XxxParam annotation (@PathParam,
@FormParam ...) or the @Context
annotation. For the POJO classes same instantiation and injection rules apply as in case of instantiation
and injection of request-scoped root resource classes.
For example:
public class MyBean {
@FormParam("myData")
private String data;
@HeaderParam("myHeader")
private String header;
@PathParam("id")
public void setResourceId(String id) {...}
...
}
@Path("myresources")
public class MyResources {
@POST
@Path("{id}")
public void post(@BeanParam MyBean myBean) {...}
...
}
Because injection occurs at object creation time, use of this annotation on resource class fields and bean properties is only supported for the default per-request resource class lifecycle. Resource classes using other lifecycles should only use this annotation on resource method parameters.
Copyright © 1996-2017, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.