Annotation Interface PathParam
@Encoded
annotation.
A default value can be specified using the @DefaultValue
annotation.
The type of the annotated parameter, field or property must either:
- Be
PathSegment
, the value will be the final segment of the matching part of the path. SeeUriInfo
for a means of retrieving all request path segments. - Be
List<javax.ws.rs.core.PathSegment>
, the value will be a list ofPathSegment
corresponding to the path segment(s) that matched the named template parameter. SeeUriInfo
for a means of retrieving all request path segments. - Be a primitive type.
- Have a constructor that accepts a single String argument.
- Have a static method named
valueOf
orfromString
that accepts a single String argument (see, for example,Integer.valueOf(String)
). - Have a registered implementation of
ParamConverterProvider
JAX-RS extension SPI that returns aParamConverter
instance capable of a "from string" conversion for the type.
The injected value corresponds to the latest use (in terms of scope) of
the path parameter. E.g. if a class and a sub-resource method are both
annotated with a @Path
containing the same URI template
parameter, use of @PathParam
on a sub-resource method parameter
will bind the value matching URI template parameter in the method's
@Path
annotation.
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.
- Since:
- 1.0
- See Also:
-
Required Element Summary
-
Element Details
-
value
String valueDefines the name of the URI template parameter whose value will be used to initialize the value of the annotated method parameter, class field or property. SeePath.value()
for a description of the syntax of template parameters.E.g. a class annotated with:
@Path("widgets/{id}")
can have methods annotated whose arguments are annotated with@PathParam("id")
.
-