Поддерживает ли Swagger / APIGateway Java классы символов в шаблонах регулярных выражений - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь использовать AWS API Gateway для разработки HTTP API. Мой объект запроса должен выглядеть так:

GetStudentDetailsApiRequest {
    studentId: String,
    studentName: String,
    .
    .
    .
    .
}

Для части studentId я пытаюсь установить шаблон регулярного выражения, например:

    studentId:
      type: string
      pattern: '\p{Print}+'

\p{Print} это класс символов из Java - https://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html.

См. следующие документы Swagger для установки шаблона - https://swagger.io/docs/specification/data-models/data-types/

После того, как я развернул свой API и попытался сделать запрос API, я всегда получаю сообщение об ошибке

Invalid request body: [ECMA 262 regex "\p{Print}+" does not match input string "S163FF2020"] 

Я не могу понять, почему шаблон регулярного выражения не принимается? Или это особый стандарт ECMA-262, который не поддерживает Java классы символов? Я читаю ECMA 262 spe c, но не могу точно указать раздел, в котором говорится, что Java классы символов не поддерживаются.

Любая помощь будет принята с благодарностью.

...