Заглушка параметра запроса 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,

Другие вопросы по тегам