我具有请求响应的JSON定义。请求主体为文本/纯文本。
{
"request": {
"method": "POST",
"url": "/users",
"bodyPatterns": [
{
"equalTo": "Name Bob Age 30"
}
]
},
"response": {
"status": 200,
"body": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><UsersResponse><Name>Bob</Name><Age>30</Age></UsersResponse>",
"transformers": ["response-template"],
"headers": {
"Content-Type": "text/xml"
}
}
}
我希望不对'Bob'和'30'进行硬编码,而是将其作为请求和响应的变量。 因此,如果请求'Mark''20'到达,我想返回
"body": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><UsersResponse><Name>Mark</Name><Age>20</Age></UsersResponse>"
如何实现?
答案 0 :(得分:1)
WireMock和WireMock.Net都支持响应模板:
文档:
但是,这仅限于简单的模板(有关详细信息,请阅读文档),无法使用JSON映射界面以复杂的方式定义自定义代码或提取数据。
对于WireMock.Net,您可以使用C#对其进行硬编码,另一个示例如下所示:
GET /repos/:owner/:repo/contents/:path