Параметр запроса Wiremock JSON-файл заглушки - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь смоделировать параметр запроса, используя стаб-файл JSON.

Это работает, когда я делаю это следующим образом:

{
  "request": {
    "method": "GET",
    "url": "/posts?id=1",
  },
//...
}

Однако, когда я изменяю свой параметр запроса наиспользуйте выделенное поле, как это, оно больше не работает:

{
  "request": {
    "method": "GET",
    "urlPath": "/posts",
    "queryParameters": {
      "id": {
        "equalTo": "1"
      }
    }
  },
  //...
}

Есть идеи почему?

Тестовый запрос выглядит как http://some -host / posts? id =1

Ответы [ 3 ]

0 голосов
/ 20 августа 2018

Проблема в том, что urlPath не работает с queryParameters, и это просто ожидаемое поведение.: - / Я нашел эти вопросы и ответы по теме в репозитории Wiremock Github.Согласно ответу @ tomakehurst , это ожидаемое поведение, и queryParameters будет соответствовать, если вы используете urlPathPattern.

0 голосов
/ 20 августа 2018

Вы можете попробовать с urlPathPattern вместо urlPath.

Как сказано здесь urlPath для точногоmatch, и urlPathPattern предназначен для regex.

Поэтому, используя urlPathPattern в QueryParameter, ваш запрос получит разрешение.

{
  "request": {
    "method": "GET",
    "urlPathPattern": "/posts",
    "queryParameters": {
      "id": {
        "equalTo": "1"
      }
    }
  },
  //...
}

Попробуйтеи поймите ниже концепцию Wiremock .

0 голосов
/ 14 августа 2018

Это работает для меня, измените ваш "urlPath" на "urlPathPattern", но будьте осторожны в структурировании этого JSON.таким образом, urlPath является точным шаблоном сопоставления, но urlPathPattern является сопоставлением регулярных выражений для пути и параметра запроса

  {
        "request": {
            "urlPathPattern": "/posts",
            "method": "GET",
            "queryParameters": {
                "id": {
                    "equalTo": "1"
                }
            }
        },
        "response": {
            "status": 200,
            "body":"This is successful"
        }
    }
...