Как передать массив в параметрах запроса Wiremock - PullRequest
1 голос
/ 19 марта 2020

Сейчас пара дней, я застрял в Wiremock. Я не могу понять, как отправить параметры массива в метод GET. Я хочу отправить это GET http://localhost/test?filter[]=full&token=any. так что мой json выглядит так

{
    "request": {
        "method": "GET",
        "urlPath": "/test?filter[]=full",
        "queryParameters": {
             "token": {
                 "matches": "^[A-Za-z0-9-_=.]*$"
             }
        }
    },
    "response": {
        "status": 200
    }
}

но я получил ошибку, вот ответ об ошибке

| Closest stub                                             | Request                                                  |
-----------------------------------------------------------------------------------------------------------------------
                                                           |
GET                                                        | GET
/test?filter[]=full                                        | /test?filter[]=full&token=eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp<<<<< URL does not match
                                                           | XVCJ9.eyJpYXQiOjE1MTYyMzkwMjJ9.tbDepxpstvGdW8TC3G8zg4B6rU
                                                           | YAOvfzdceoH48wgRQ
                                                           |
Query: token [matches] ^[A-Za-z0-9-_=.]*$                  | token:
                                                           | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE1MTYyMzkw
                                                           | MjJ9.tbDepxpstvGdW8TC3G8zg4B6rUYAOvfzdceoH48wgRQ
                                                           |
                                                           |
-----------------------------------------------------------------------------------------------------------------------

так что если кто-нибудь знает, как отправить параметр массива с GET методом, я буду признателен.

Спасибо

1 Ответ

1 голос
/ 20 марта 2020

Проблема в том, что вы помещаете параметр запроса в путь URL:

"urlPath": "/test?filter[]=full"

Вам нужно переместить filter[] в блок параметров запроса:

{
  "request": {
    "method": "GET",
    "urlPath": "/test",
    "queryParameters": {
      "token": {
        "matches": "^[A-Za-z0-9-_=.]*$"
      },
      "filter%5B%5D": {
        "equalTo": "full"
      }
    }
  },
  "response": {
    "status": 200
  }
}
...