Annotation Type PathParam
- 
 @Target({PARAMETER,METHOD,FIELD}) @Retention(RUNTIME) @Documented public @interface PathParam Binds the value of a URI template parameter or a path segment containing the template parameter to a resource method parameter, resource class field, or resource class bean property. The value is URL decoded unless this is disabled using the@Encodedannotation. A default value can be specified using the@DefaultValueannotation. 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. SeeUriInfofor a means of retrieving all request path segments.
- Be List<jakarta.ws.rs.core.PathSegment>, the value will be a list ofPathSegmentcorresponding to the path segment(s) that matched the named template parameter. SeeUriInfofor 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 valueOforfromStringthat accepts a single String argument (see, for example,Integer.valueOf(String)).
- Have a registered implementation of ParamConverterProviderJAX-RS extension SPI that returns aParamConverterinstance 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 @Pathcontaining the same URI template parameter, use of@PathParamon a sub-resource method parameter will bind the value matching URI template parameter in the method's@Pathannotation.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
- Author:
- Paul Sandoz, Marc Hadley
- See Also:
- Encoded,- DefaultValue,- PathSegment,- UriInfo
 
- Be 
- 
- 
Element Detail- 
valueString 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. 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").- Returns:
- resource URI template parameter name.
 
 
- 
 
-