Wiremock按官方文档配置后无法匹配带查询参数的URL怎么办
你遇到的报错和WireMock配置无关,是zsh shell的通配符解析机制导致的。
zsh默认会把URL里的?当作文件匹配通配符,会尝试在当前目录下匹配符合http://localhost:8081/your/url?and=query规则的本地文件,找不到就抛出no matches found错误,整个curl请求根本没有发送到WireMock服务端,所以你调整WireMock配置不会生效。
你可以用以下任意一种方法解决:
- 方法1(最推荐):把请求URL用单引号包裹,避免zsh解析特殊字符:
curl -i 'http://localhost:8081/your/url?and=query'
- 方法2:转义URL中的问号:
curl -i http://localhost:8081/your/url\?and=query
- 方法3:临时关闭zsh的通配符匹配校验,之后再执行curl命令:
setopt nonomatch curl -i http://localhost:8081/your/url?and=query
内容的提问来源于stack exchange,提问作者Mohammed
相关产品推荐
相关产品推荐

