Я пытаюсь проверить конкретное поле json amount
в запросе, чтобы иметь номер, а не строку
{
"request": {
"method": "POST",
"urlPath": "/charges",
"bodyPatterns" : [
{"matchesJsonPath" : "$[?(@.amount =~ /^[0-9]*$/i)]"}
]
}
Теперь request1 и request2 работают нормально, а request3 не работает. Но я ожидаю, что request2 также потерпит неудачу, потому что это строка, а не число, поскольку оно заключено в двойные кавычки.
Запрос 1,
{
"amount": 123,
}
Запрос 2,
{
"amount": "123",
}
Запрос 3,
{
"amount": "a123",
}
Это возможно?. Я вижу в документации по прототипу
Since WireMock’s matching operators all work on strings,
the value selected by the JSONPath expression will be coerced to a string before the match is evaluated.