Class RequestValidator
- java.lang.Object
-
- io.vertx.reactivex.openapi.validation.RequestValidator
-
- All Implemented Interfaces:
io.vertx.lang.rx.RxDelegate
public class RequestValidator extends Object implements io.vertx.lang.rx.RxDelegate
TheRequestValidatorrequires theparametersin 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 aValidatableRequestobject. 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
originalnon 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()
- Specified by:
getDelegatein interfaceio.vertx.lang.rx.RxDelegate
-
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 andValidatableRequestare 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 andValidatableRequestare 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), 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 Single<ValidatedRequest> rxValidate(HttpServerRequest request, String operationId)
Likevalidate(io.vertx.reactivex.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 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)
-
-