Заглушка параметра запроса Wiremock
Я пытаюсь смоделировать параметр запроса, используя заглушку JSON.
Это работает, когда я делаю это так:
{
"request": {
"method": "GET",
"url": "/posts?id=1",
},
//...
}
Однако, когда я изменяю свой параметр запроса, чтобы использовать выделенное поле, подобное этому, оно больше не работает:
{
"request": {
"method": "GET",
"urlPath": "/posts",
"queryParameters": {
"id": {
"equalTo": "1"
}
}
},
//...
}
Есть идеи почему?
Тестовый запрос выглядит как http://some-host/posts?id=1
3 ответа
Это работает для меня, измени свой "urlPath"
в "urlPathPattern"
но будьте осторожны в структурировании этого JSON
, так urlPath
точно совпадающий шаблон, но urlPathPattern
такое регулярное выражение для пути и параметра запроса
{
"request": {
"urlPathPattern": "/posts",
"method": "GET",
"queryParameters": {
"id": {
"equalTo": "1"
}
}
},
"response": {
"status": 200,
"body":"This is successful"
}
}
Вы можете попробовать с urlPathPattern
вместо urlPath
,
Как сказано здесь, urlPath для точного соответствия, а urlPathPattern для regex
,
Итак, используя urlPathPattern
в QueryParameter ваш запрос получит разрешение.
{
"request": {
"method": "GET",
"urlPathPattern": "/posts",
"queryParameters": {
"id": {
"equalTo": "1"
}
}
},
//...
}
Попробуйте понять концепцию Wiremock, представленную ниже.
Проблема в том, что urlPath
не работает с queryParameters
и что это просто ожидаемое поведение.: / / Я нашел эти вопросы и ответы по этой теме в репозитории Wiremock Github. Согласно ответу @tomakehurst, это ожидаемое поведение и queryParameters
будет соответствовать, если вы используете urlPathPattern
,