【发布时间】:2021-04-20 10:39:58
【问题描述】:
我目前正在独立运行 Wiremock,我正在尝试模仿访问数据库的服务。
我的映射文件如下所示:-
{
"request": {
"method": "GET",
"urlPath": "/testService/search/details"
},
"response": {
"status": 200,
"headers": {
"Content-Type": "application/hal+json"
},
"transformers": ["response-template"],
"bodyFileName": "/testTable/{{request.query.productCode}}.json"
}
}
所以如果我要点击这个网址:-
http://localhost/testService/search/details?productCode=12345
然后它会去数据库获取return me product 12345。
如果我向服务发送数据库中不存在的请求(例如 productCode=0),它会给我一个标准的空响应,例如:-
{
"products": []
}
因此,我试图让wiremock 使用JSON 配置来做同样的事情。
此时,如果我使用没有相应响应文件的 productCode 向 wiremock 发送请求,我会收到以下错误:-
Error 500 java.io.FileNotFoundException
但是如果它没有找到响应文件,我希望它回复一个空响应,所以我想寻找一个匹配的响应文件,如果它没有找到,然后回退到默认响应文件,内容如下:-
{
"products": []
}
我在 wiremock 文档中看不到任何涉及 FileNotFoundExcpetion 的默认响应的内容。
【问题讨论】: