如何在Wiremock查询参数中传递数组

问题描述 投票:0回答:1

现在已经几天了,我被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方法发送数组参数,我将不胜感激。

谢谢

wiremock
1个回答
0
投票

问题是您要在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
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.