0

我有非常基本的mapping.json

{
    "mappings": [
        {
            "priority": 1,
            "request": {
                "method": "GET",
                "url": "/your/url?and=query"
            },
            "response": {
                "status": 200,
                "statusMessage": "query param test"
            }
        },
        {
            "priority": 2,
            "request": {
                "method": "GET",
                "url": "/your"
            },
            "response": {
                "status": 200,
                "statusMessage": "no query param"
            }
        }
    ]
}

这与文档中给出的示例完全相同。

结果:

admin ~ % curl -i http://localhost:8081/your
HTTP/1.1 200 no query param
Matched-Stub-Id: 6ff84303-8abb-48d0-bd27-679de118afc7
Transfer-Encoding: chunked
Server: Jetty(9.2.z-SNAPSHOT)

admin ~ % curl -i http://localhost:8081/your/url?and=query
zsh: no matches found: http://localhost:8081/your/url?and=query
admin ~ % 

无法弄清楚我在这里做错了什么。这与文档中给出的示例完全相同。我尝试像这样放置查询参数:

"queryParameters" : {
      "search_term" : {
        "equalTo" : "WireMock"
      }
    },

这也没有帮助。TIA

4

1 回答 1

0

查看此问题的答案和评论,但 tl;dr 是,如果您想在 CURL 请求中包含查询参数,则必须将 URL 放在引号中。

这可以解释为什么 Postman 可以工作,并且不带查询参数的 CURL 请求也可以工作,但带查询参数的 CURL 请求却不能。

curl -i 'http://localhost:8081/your/url?and=query'应该足以解决您的问题(可能需要双引号而不是单引号?)

于 2021-06-07T13:14:26.040 回答