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