如何将动态文件路径用于 Wiremock.Net 的响应?
How to use dynamic file paths for responses with Wiremock.Net?
我对模板的当前功能有疑问。
我想使用 WireMock.Net 从文件中检索响应,为此我使用具有 "BodyAsFile" 属性的静态映射。
示例:
{
"Request": {
"Path": {
"Matchers": [
{
"Name": "WildcardMatcher",
"Pattern": "/bodyasfilexmltest",
"IgnoreCase": false
}
]
},
"Methods": [
"get"
]
},
"Response": {
"StatusCode": 200,
"Headers": { "Content-Type": "application/xml" },
"BodyAsFile": "c:\temp-wiremock\__admin\mappings\MyXmlResponse.xml",
"UseTransformer": false
}
}
但我想根据请求属性改变响应目录,就像 Handlebars 模板所做的那样。
示例(MyUniqueNumber 将是每个文件夹的名称):
"BodyAsFile": "c:\temp-wiremock\__admin\mappings\_{{request.query.MyUniqueNumber}}_\MyXmlResponse.xml",
在此示例中,变量位于路径中,但也可以将其附加到文件名中。
我确实测试了它,似乎库在加载时尝试从磁盘加载文件,而不是根据请求加载文件,因此它找不到无效路径 "c:\temp-wiremock__admin\mappings{{request.query.MyUniqueNumber}}\MyXmlResponse.xml"。
目前是否支持这种情况(可能以不同的方式)?
中解决
我对模板的当前功能有疑问。
我想使用 WireMock.Net 从文件中检索响应,为此我使用具有 "BodyAsFile" 属性的静态映射。
示例:
{
"Request": {
"Path": {
"Matchers": [
{
"Name": "WildcardMatcher",
"Pattern": "/bodyasfilexmltest",
"IgnoreCase": false
}
]
},
"Methods": [
"get"
]
},
"Response": {
"StatusCode": 200,
"Headers": { "Content-Type": "application/xml" },
"BodyAsFile": "c:\temp-wiremock\__admin\mappings\MyXmlResponse.xml",
"UseTransformer": false
}
}
但我想根据请求属性改变响应目录,就像 Handlebars 模板所做的那样。
示例(MyUniqueNumber 将是每个文件夹的名称):
"BodyAsFile": "c:\temp-wiremock\__admin\mappings\_{{request.query.MyUniqueNumber}}_\MyXmlResponse.xml",
在此示例中,变量位于路径中,但也可以将其附加到文件名中。
我确实测试了它,似乎库在加载时尝试从磁盘加载文件,而不是根据请求加载文件,因此它找不到无效路径 "c:\temp-wiremock__admin\mappings{{request.query.MyUniqueNumber}}\MyXmlResponse.xml"。
目前是否支持这种情况(可能以不同的方式)?