public interface RequestValidator
RequestValidator
requires the parameters
in a specific format to be able to
parse and validate them. This is especially true for exploded parameters. The following table shows how the
value of a parameter of a request must be stored in a ValidatableRequest
object. For these examples the key
of those values is always color.
These are the initial values for each type:ValidatedRequest.getCookies()
+--------+---------+-------+-----------+------------------------------------+-------------------------+ | style | explode | empty | primitive | array | object | +--------+---------+-------+-----------+------------------------------------+-------------------------+ | form | false | | blue | blue,black,brown | R,100,G,200,B,150 | +--------+---------+-------+-----------+------------------------------------+-------------------------+ | form | true | | blue | color=blue&color=black&color=brown | R=100&G=200&B=150 | +--------+---------+-------+-----------+------------------------------------+-------------------------+For header parameters
ValidatedRequest.getHeaders()
+--------+---------+-------+-----------+------------------------------------+-------------------------+ | style | explode | empty | primitive | array | object | +--------+---------+-------+-----------+------------------------------------+-------------------------+ | simple | false | | blue | blue,black,brown | R,100,G,200,B,150 | +--------+---------+-------+-----------+------------------------------------+-------------------------+ | simple | true | | blue | blue,black,brown | R=100,G=200,B=150 | +--------+---------+-------+-----------+------------------------------------+-------------------------+For path parameters
ValidatedRequest.getPathParameters()
+--------+---------+--------+-------------+-------------------------------------+--------------------------+ | style | explode | empty | primitive | array | object | +--------+---------+--------+-------------+-------------------------------------+--------------------------+ | simple | false | | blue | blue,black,brown | R,100,G,200,B,150 | +--------+---------+--------+-------------+-------------------------------------+--------------------------+ | simple | true | | blue | blue,black,brown | R=100,G=200,B=150 | +--------+---------+--------+------ ------+-------------------------------------+--------------------------+ | label | false | . | .blue | .blue,black,brown | .R,100,G,200,B,150 | +--------+---------+--------+-------------+-------------------------------------+--------------------------+ | label | true | . | .blue | .blue.black.brown | .R=100.G=200.B=150 | +--------+---------+--------+-------------+-------------------------------------+--------------------------+ | matrix | false | ;color | ;color=blue | ;color=blue,black,brown | ;color=R,100,G,200,B,150 | +--------+---------+-------+--------+-------------------------------------------+--------------------------+ | matrix | true | ;color | ;color=blue | ;color=blue;color=black;color=brown | ;R=100;G=200;B=150 | +--------+---------+--------+-------------+-------------------------------------+--------------------------+For query parameters
ValidatedRequest.getQuery()
+----------------+---------+-------+------------+-----------------------------------+--------------------------+ | style | explode | empty | primitive | array | object | +----------------+---------+-------+----------+-------------------------------------+--------------------------+ | form | false | | blue | blue,black,brown | R,100,G,200,B,150 | +----------------+---------+-------+-----------+------------------------------------+--------------------------+ | form | true | | blue | color=blue&color=black&color=brown | R=100&G=200&B=150 | +----------------+---------+-------+------ ----+------------------------------------+--------------------------+ | spaceDelimited | false | not yet supported / +----------------+---------+-------+------ ----+------------------------------------+--------------------------+ | spaceDelimited | true | not yet supported / +----------------+---------+-------+------ ----+------------------------------------+--------------------------+ | pipeDelimited | false | not yet supported / +----------------+---------+-------+------ ----+------------------------------------+--------------------------+ | pipeDelimited | true | not yet supported / +----------------+---------+-------+------ ----+------------------------------------+--------------------------+ | spaceDelimited | true | not yet supported / +----------------+---------+-------+------ ----+------------------------------------+--------------------------+
Modifier and Type | Method and Description |
---|---|
static RequestValidator |
create(Vertx vertx,
OpenAPIContract contract)
Create a new
RequestValidator . |
Future<ValidatedRequest> |
validate(HttpServerRequest request)
Like
validate(ValidatableRequest, String) , but the operationId and ValidatableRequest are
determined from the passed request. |
Future<ValidatedRequest> |
validate(HttpServerRequest request,
String operationId)
Like
validate(ValidatableRequest, String) , but ValidatableRequest are directly extracted from the passed request. |
Future<ValidatedRequest> |
validate(ValidatableRequest params,
String operationId)
Validates the passed request parameters against the operation defined in the related OpenAPI contract.
|
static RequestValidator create(Vertx vertx, OpenAPIContract contract)
RequestValidator
.vertx
- the related Vert.x instancecontract
- the related OpenAPIContract
RequestValidator
.Future<ValidatedRequest> validate(HttpServerRequest request)
validate(ValidatableRequest, String)
, but the operationId and ValidatableRequest
are
determined from the passed request.
Note: Determining the operationId is expensive. If possible use validate(HttpServerRequest, String)
.request
- the request to validateFuture<ValidatedRequest> validate(HttpServerRequest request, String operationId)
validate(ValidatableRequest, String)
, but ValidatableRequest
are directly extracted from the passed request.request
- the request to validateoperationId
- the id of the related operation.Future<ValidatedRequest> validate(ValidatableRequest params, String operationId)
params
- the request parameters to validate.operationId
- the id of the related operation.Copyright © 2023 Eclipse. All rights reserved.