我试图使用Wiremock Standalone服务器实现POST REST调用的模拟。我面临这样的挑战,假设post主体包含一个“name”字段及其值,那么在post调用的响应中应该返回相同的值。我的json文件如下所示:
{
"priority": 1,
"request": {
"method": "POST",
"urlPath": "/primeSlots",
"bodyPatterns" : [ {
"matchesJsonPath" : "{ \"things\": [ { \"name\": \"794363\" }]
}"
} ]
},
"response": {
"status": 200,
"body": "{{$.things.name.value}}",
"transformers": ["response-template"]
}
}
所以,我需要得到值,即794363,但使用上面的方法无法在后响应体中获取它。
我也试过这个:
{
"request": {
"method": "POST",
"urlPath": "/transform",
"bodyPatterns": [
{
"matchesJsonPath" : "$.things[?(@.name =~ /[0-9]+/i)]"
}
]
},
"response": {
"status": 200,
"body": "{\"responseName\": \"
{{request.body.things.name.value}}\"}",
"headers": {
"Content-Type": "application/json"
},
"transformers": ["body-transformer"]
}
}
所以我的问题是,即使我使用正则表达式,它与请求中的任何数字匹配,如何使用Wiremock独立json文件在响应中返回相同的数字?谢谢。
不幸的是,WireMock的响应模板转换器目前没有将请求正文分解为Map,这对于您尝试执行的操作是必要的。请求正文只是一个字符串。
启用此功能的最简单方法可能是编写一个实现JSONPath或其他查询JSON文档的机制的Handlebar助手,然后在初始化WireMock时将其注册到模板转换器中。
在某些时候,我会编写车把助手来为XML和JSON做这种事情,但这不会持续一段时间。
今天,我和你处境一样,找到了一个解决办法,我想和你分享:
响应定义转换器
,例如数组流(字符串助手,值)。
如果您有多个变压器,只需在
--extensions
arg中定义所有使用、
(逗号)作为分隔符的变压器。
我有一个 JSON 请求,如下所示: 作为响应,我需要在一个字段中发送完整的请求JSON对象。我的Wiremock存根JSON是, 如何在响应字段中发送请求正文? 我现在收到错误: 我使用的是导致此问题的wiremock版本。我将版本升级到
我正在尝试编写一个扩展,在其中我可以将请求和响应存储在数据库中。我扩展了PostActionServe,现在有两个问题 > 启动模拟服务器后,我向 http://localhost:8089/__admin/mappings 提交了发布请求,但都未调用 doAction 或 doGlobalAction。 现在,如果我到达终点/一些/东西,那么只有全局动作被调用。 我希望当我向mappings A
我读了这个问题:为什么使用BufferedInputStream逐个字节读取文件比使用FileInputStream更快?根据作者比更快,因为当方法在中调用时,它总是使用本地API进行系统调用,以便获取单个字节,而做同样的事情,但是它需要操作系统的字节块,并将它们存储在本地字段中,称为buf,该字段在BIS类中声明,然后当读取()被称为BIS时,返回字节从数组。 我查看了BIS的代码,特别是方法,
我们希望使用Kafka作为我们的企业服务总线(ESB)。 我知道kafka的大多数用例都是异步用例。 在我们的系统中,是否仍然可以使用kafka在两个endpoint之间进行请求-响应消息传递?
我正在使用Spring云合同创建集成测试。从配置到将存根jar添加到项目,一切都正常工作。因此,我发现尽管所有参数和标头都相同,但请求不匹配。 这是API测试 这是API调用的合约 即使我从合同请求中删除用户名,仍然收到相同的错误。 我需要为X-B3-ParentSpanId等创建标题来使其匹配吗?
请帮助我在JMeter中以正确的方式发送表单数据post请求。