Pattern conflicts with allowed string length
Issue ID: semantic-pattern-incompatible
Description
One or more strings in your API define a pattern that conflicts with the allowed length of the string. This could result in a null
value for string.
For more details, see the OpenAPI Specification.
Example
The following is an example of how this type of risk could look in your API definition. The string defines a pattern but the maximum length allowed in the pattern is shorter than the required minLength
of the same string:
{
"parameters": {
"in": "query",
"name": "id",
"type": "string",
"description": "Identifier of the object to be extracted.",
"pattern": "^[a-z]{10,20}$",
"minLength": 25
}
}
Or the pattern could require longer strings than maxLength
allows:
{
"parameters": {
"in": "query",
"name": "id",
"type": "string",
"description": "Identifier of the object to be extracted.",
"pattern": "^[a-z]{10,20}$",
"maxLength": 5
}
}
Remediation
Make sure that the patterns you define for strings do not conflict with the minLength
or maxLength
properties.
{
"parameters": {
"in": "query",
"name": "id",
"type": "string",
"description": "Identifier of the object to be extracted.",
"pattern": "^[a-z]{25,40}$",
"minLength": 25,
"maxLength": 40
}
}