使用WireMock.Net,如何为JSON请求body做静态映射?
With WireMock.Net, how to do static mapping for JSON request body?
我正在模拟一个 API,它在请求 body 中大量使用了 JSON,我正在尝试为具有不同 [= 的请求创建可读的静态映射文件=26=] 尸体。
我没有为请求 Body 创建长的 JsonPathMatcher 模式字符串,而是希望利用 Reqest 的 BodyAsJson 标签来定义我想要的确切请求 body匹配。
这似乎解析正常,但没有按我预期的那样工作。我认为 WireMock.Net 正在反序列化映射文件和请求中的 JSON,然后对两个结果 objects 进行引用相等以查看它们是否相同,这他们自然不是。
有没有更好的方法来完成这项工作?
WireMock.Net 的新版本 (1.0.4.x) 将在 Body 匹配器中支持真正的 JSON object。不再需要定义转义字符串。
映射(在 JSON 中)将如下所示:
{
"Guid": "debaf408-3b23-4c04-9d18-ef1c020e79f3",
"Request": {
"Path": {
"Matchers": [
{
"Name": "WildcardMatcher",
"Pattern": "/jsonbodytest2",
"IgnoreCase": false
}
]
},
"Methods": [
"post"
],
"Body": {
"Matcher": {
"Name": "JsonMatcher",
"Pattern": {
"x": 42,
"s": "s"
}
}
}
},
"Response": {
"StatusCode": 200,
"Body": "{ \"result\": \"jsonbodytest2\" }"
}
}
我正在模拟一个 API,它在请求 body 中大量使用了 JSON,我正在尝试为具有不同 [= 的请求创建可读的静态映射文件=26=] 尸体。
我没有为请求 Body 创建长的 JsonPathMatcher 模式字符串,而是希望利用 Reqest 的 BodyAsJson 标签来定义我想要的确切请求 body匹配。
这似乎解析正常,但没有按我预期的那样工作。我认为 WireMock.Net 正在反序列化映射文件和请求中的 JSON,然后对两个结果 objects 进行引用相等以查看它们是否相同,这他们自然不是。
有没有更好的方法来完成这项工作?
WireMock.Net 的新版本 (1.0.4.x) 将在 Body 匹配器中支持真正的 JSON object。不再需要定义转义字符串。
映射(在 JSON 中)将如下所示:
{
"Guid": "debaf408-3b23-4c04-9d18-ef1c020e79f3",
"Request": {
"Path": {
"Matchers": [
{
"Name": "WildcardMatcher",
"Pattern": "/jsonbodytest2",
"IgnoreCase": false
}
]
},
"Methods": [
"post"
],
"Body": {
"Matcher": {
"Name": "JsonMatcher",
"Pattern": {
"x": 42,
"s": "s"
}
}
}
},
"Response": {
"StatusCode": 200,
"Body": "{ \"result\": \"jsonbodytest2\" }"
}
}