Class RequestValidator
- java.lang.Object
-
- io.vertx.reactivex.openapi.validation.RequestValidator
-
public class RequestValidator extends Object
TheRequestValidator
requires theparameters
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 aValidatableRequest
object. For these examples the key of those values is always color. These are the initial values for each type:
- primitive (string) -> "blue"
- array -> ["blue","black","brown"]
- object -> { "R": 100, "G": 200, "B": 150 }
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 parametersValidatedRequest.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 parametersValidatedRequest.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 parametersValidatedRequest.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 / +----------------+---------+-------+------ ----+------------------------------------+--------------------------+
NOTE: This class has been automatically generated from the
original
non RX-ified interface using Vert.x codegen.
-
-
Field Summary
Fields Modifier and Type Field Description static io.vertx.lang.rx.TypeArg<RequestValidator>
__TYPE_ARG
-
Constructor Summary
Constructors Constructor Description RequestValidator(RequestValidator delegate)
RequestValidator(Object delegate)
-
Method Summary
-
-
-
Field Detail
-
__TYPE_ARG
public static final io.vertx.lang.rx.TypeArg<RequestValidator> __TYPE_ARG
-
-
Constructor Detail
-
RequestValidator
public RequestValidator(RequestValidator delegate)
-
RequestValidator
public RequestValidator(Object delegate)
-
-
Method Detail
-
getDelegate
public RequestValidator getDelegate()
-
create
public static RequestValidator create(Vertx vertx, OpenAPIContract contract)
Create a newRequestValidator
.- Parameters:
vertx
- the related Vert.x instancecontract
- the related- Returns:
- an instance of
RequestValidator
.
-
validate
public Future<ValidatedRequest> validate(HttpServerRequest request)
Likevalidate(io.vertx.reactivex.core.http.HttpServerRequest)
, but the operationId andValidatableRequest
are determined from the passed request. Note: Determining the operationId is expensive. If possible usevalidate(io.vertx.reactivex.core.http.HttpServerRequest)
.- Parameters:
request
- the request to validate- Returns:
- A succeeded Future with the parsed and validated request parameters, or a failed Future containing ValidationException.
-
rxValidate
public Single<ValidatedRequest> rxValidate(HttpServerRequest request)
Likevalidate(io.vertx.reactivex.core.http.HttpServerRequest)
, but the operationId andValidatableRequest
are determined from the passed request. Note: Determining the operationId is expensive. If possible usevalidate(io.vertx.reactivex.core.http.HttpServerRequest)
.- Parameters:
request
- the request to validate- Returns:
- A succeeded Future with the parsed and validated request parameters, or a failed Future containing ValidationException.
-
validate
public Future<ValidatedRequest> validate(HttpServerRequest request, String operationId)
Likevalidate(io.vertx.reactivex.core.http.HttpServerRequest)
, butValidatableRequest
are directly extracted from the passed request.- Parameters:
request
- the request to validateoperationId
- the id of the related operation.- Returns:
- A succeeded Future with the parsed and validated request parameters, or a failed Future containing ValidationException.
-
rxValidate
public Single<ValidatedRequest> rxValidate(HttpServerRequest request, String operationId)
Likevalidate(io.vertx.reactivex.core.http.HttpServerRequest)
, butValidatableRequest
are directly extracted from the passed request.- Parameters:
request
- the request to validateoperationId
- the id of the related operation.- Returns:
- A succeeded Future with the parsed and validated request parameters, or a failed Future containing ValidationException.
-
validate
public Future<ValidatedRequest> validate(ValidatableRequest params, String operationId)
Validates the passed request parameters against the operation defined in the related OpenAPI contract.- Parameters:
params
- the request parameters to validate.operationId
- the id of the related operation.- Returns:
- A succeeded Future with the parsed and validated request parameters, or a failed Future containing ValidationException.
-
rxValidate
public Single<ValidatedRequest> rxValidate(ValidatableRequest params, String operationId)
Validates the passed request parameters against the operation defined in the related OpenAPI contract.- Parameters:
params
- the request parameters to validate.operationId
- the id of the related operation.- Returns:
- A succeeded Future with the parsed and validated request parameters, or a failed Future containing ValidationException.
-
newInstance
public static RequestValidator newInstance(RequestValidator arg)
-
-