@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<javax.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
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 © 2019 Eclipse Foundation.
Use is subject to license terms.