@Target(value={PARAMETER,METHOD,FIELD})
@Retention(value=RUNTIME)
@Documented
public @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:
PathSegment, the value will be the final segment of the matching part of the path.
See UriInfo for a means of retrieving all request path segments.List<jakarta.ws.rs.core.PathSegment>, the value will be a list of PathSegment corresponding to
the path segment(s) that matched the named template parameter. See UriInfo for a means of
retrieving all request path segments.valueOf or fromString that accepts a single String argument (see, for
example, Integer.valueOf(String)).ParamConverterProvider JAX-RS extension SPI that
returns a ParamConverter 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.
@Encoded,
@DefaultValue,
PathSegment,
UriInfo| Modifier and Type | Required Element and Description |
|---|---|
java.lang.String |
value
Defines 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.
|
public abstract java.lang.String value
Path.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").