Class RequestValidator
java.lang.Object
io.vertx.rxjava3.openapi.validation.RequestValidator
- All Implemented Interfaces:
RxDelegate
The
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:- 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 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 / +----------------+---------+-------+------ ----+------------------------------------+--------------------------+
NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRequestValidator(RequestValidator delegate) RequestValidator(Object delegate) -
Method Summary
Modifier and TypeMethodDescriptionstatic RequestValidatorcreate(io.vertx.rxjava3.core.Vertx vertx, OpenAPIContract contract) Create a newRequestValidator.booleaninthashCode()static RequestValidatorio.reactivex.rxjava3.core.Single<ValidatedRequest>rxValidate(HttpServerRequest request) Likevalidate(io.vertx.rxjava3.core.http.HttpServerRequest), but the operationId andValidatableRequestare determined from the passed request.io.reactivex.rxjava3.core.Single<ValidatedRequest>rxValidate(HttpServerRequest request, String operationId) Likevalidate(io.vertx.rxjava3.core.http.HttpServerRequest), butValidatableRequestare directly extracted from the passed request.io.reactivex.rxjava3.core.Single<ValidatedRequest>rxValidate(ValidatableRequest params, String operationId) Validates the passed request parameters against the operation defined in the related OpenAPI contract.toString()io.reactivex.rxjava3.core.Single<ValidatedRequest>validate(HttpServerRequest request) Likevalidate(io.vertx.rxjava3.core.http.HttpServerRequest), but the operationId andValidatableRequestare determined from the passed request.io.reactivex.rxjava3.core.Single<ValidatedRequest>validate(HttpServerRequest request, String operationId) Likevalidate(io.vertx.rxjava3.core.http.HttpServerRequest), butValidatableRequestare directly extracted from the passed request.io.reactivex.rxjava3.core.Single<ValidatedRequest>validate(ValidatableRequest params, String operationId) Validates the passed request parameters against the operation defined in the related OpenAPI contract.
-
Field Details
-
__TYPE_ARG
-
-
Constructor Details
-
RequestValidator
-
RequestValidator
-
-
Method Details
-
toString
-
equals
-
hashCode
public int hashCode() -
getDelegate
- Specified by:
getDelegatein interfaceRxDelegate
-
create
Create a newRequestValidator.- Parameters:
vertx- the related Vert.x instancecontract- the related- Returns:
- an instance of
RequestValidator.
-
validate
Likevalidate(io.vertx.rxjava3.core.http.HttpServerRequest), but the operationId andValidatableRequestare determined from the passed request. Note: Determining the operationId is expensive. If possible usevalidate(io.vertx.rxjava3.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
Likevalidate(io.vertx.rxjava3.core.http.HttpServerRequest), but the operationId andValidatableRequestare determined from the passed request. Note: Determining the operationId is expensive. If possible usevalidate(io.vertx.rxjava3.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 io.reactivex.rxjava3.core.Single<ValidatedRequest> validate(HttpServerRequest request, String operationId) Likevalidate(io.vertx.rxjava3.core.http.HttpServerRequest), butValidatableRequestare 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 io.reactivex.rxjava3.core.Single<ValidatedRequest> rxValidate(HttpServerRequest request, String operationId) Likevalidate(io.vertx.rxjava3.core.http.HttpServerRequest), butValidatableRequestare 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 io.reactivex.rxjava3.core.Single<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 io.reactivex.rxjava3.core.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
-