You are browsing documentation for an outdated plugin version.
Configuration
This plugin is compatible with DB-less mode.
Compatible protocols
The Request Validator plugin is compatible with the following protocols:
grpc
, grpcs
, http
, https
Parameters
Here's a list of all the parameters which can be used in this plugin's configuration:
-
name or plugin
string requiredThe name of the plugin, in this case
request-validator
.- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
name
. - If using the KongPlugin object in Kubernetes, the field is
plugin
.
- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
-
service.name or service.id
stringThe name or ID of the service the plugin targets. Set one of these parameters if adding the plugin to a service through the top-level
/plugins
endpoint. Not required if using/services/{serviceName|Id}/plugins
. -
route.name or route.id
stringThe name or ID of the route the plugin targets. Set one of these parameters if adding the plugin to a route through the top-level
/plugins
endpoint. Not required if using/routes/{routeName|Id}/plugins
. -
consumer.name or consumer.id
stringThe name or ID of the consumer the plugin targets. Set one of these parameters if adding the plugin to a consumer through the top-level
/plugins
endpoint. Not required if using/consumers/{consumerName|Id}/plugins
. -
enabled
boolean default:true
Whether this plugin will be applied.
-
config
record required-
body_schema
stringThe request body schema specification. One of
body_schema
orparameter_schema
must be specified.
-
allowed_content_types
set of typestring
default:application/json
List of allowed content types. The value can be configured with the
charset
parameter. For example,application/json; charset=UTF-8
.Notes:
- Body validation is only done for
application/json
and skipped for any other allowed content types. - Only one parameter is supported. If a request sends more than one parameter with the Content-Type header, only the first parameter is evaluated and the rest are truncated.
- The parameter is strictly validated, which means a request with a parameter (e.g.
application/json; charset=UTF-8
) is NOT considered valid for one without the same parameter (e.g.application/json
). The type, subtype, parameter names, and the value of the charset parameter are not case sensitive based on the RFC explanation.
- Body validation is only done for
-
version
string required default:kong
Must be one of:kong
,draft4
Which validator to use. Supported values are
kong
(default) for using Kong’s own schema validator, ordraft4
for using a JSON Schema Draft 4-compliant validator.
-
parameter_schema
array of typerecord
Array of parameter validator specifications. For details and examples, see Parameter Schema Definition. One of
body_schema
orparameter_schema
must be specified.-
in
string required Must be one of:query
,header
,path
-
name
string required
-
required
boolean required
-
style
string Must be one of:label
,form
,matrix
,simple
,spaceDelimited
,pipeDelimited
,deepObject
-
explode
boolean
-
schema
string
-
-
verbose_response
boolean required default:false
If enabled, the plugin returns more verbose and detailed validation errors (for example, the name of the required field that is missing).
-