Проверка ввода регулярного выражения через json схему
Чтобы принять / проверить тело запроса, содержащее поле ввода для регулярного выражения. Обычно мы должны использовать Pattern.compile (myRegex) , где myRegex является полем ввода для регулярного выражения. Если он выдает ошибку (например, PatternSyntaxException в java), он недействителен, в противном случае он является допустимым регулярным выражением.
Это может быть сделано в схеме json также
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "This is for validating input json request body containing myRegex field which accepts regex",
"required": [
"myRegex"
],
"properties": {
"myRegex": {
"type": "string",
"format": "regex"
}
}
}
Эта схема проверяет приведенные ниже тела запроса POST / PUT
{
"myRegex":"*8"
}
Указанное выше тело запроса недопустимо, поскольку "* 8" не является допустимым регулярным выражением
{
"myRegex":"^[_A-Za-z0-9][-_A-Za-z0-9.]*$"
}
Это действительно в соответствии со схемой
Ссылка: https://json-schema.org/understanding-json-schema/reference/string.html#format
Атрибут "regex" был недавно введен в черновик 7