Annotation Interface Http.RequestParams

Enclosing class:
Http

@Target(PARAMETER) @Retention(CLASS) @Documented @Qualifier public static @interface Http.RequestParams
Inject grouped request parameters into a method parameter.

The annotated parameter type must be a record. This is a restriction on the supported parameter types for declarative code generation. Each record component may have at most one supported request parameter annotation: Http.HeaderParam, Http.CookieParam, Http.QueryParam, Http.FormParam, Http.PathParam, or Http.Entity. At most one Http.Entity component is supported. Form parameter components use the request entity and cannot be combined with an entity component.

Declarative server endpoints may also use annotation-free record components whose type is a supported typed endpoint parameter, such as ServerRequest or ServerResponse. Declarative clients require every record component to use one supported request parameter annotation.

List-valued record components follow the same rules as list-valued endpoint method parameters. Declarative client request-params arguments and named-value component values must not be null; use Optional.empty() to omit optional named values.