@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
public abstract 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")
.
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.