如何从WireMock transformerParameters中嵌入JSON并输出正确格式?
WireMock transformerParameters 嵌入JSON的解决方法
问题原因
直接引用parameters.keyValue时,WireMock会将对应的Java Map对象调用toString()方法输出,因此得到的是{key=Value}这种非标准JSON格式的字符串。
解决方法
方法1:使用模板的json函数转换
修改__files/parameters.json的内容,通过json函数将参数对象序列化为标准JSON:
{{ json parameters.keyValue }}
WireMock会自动把Map对象转换为合法的JSON字符串,返回结果即为{"key":"Value"}。
方法2:在transformerParameters中传入JSON字符串
若不想依赖模板函数,可在映射文件中将keyValue的值改为转义后的JSON字符串:
修改mappings/parameters.json里的transformerParameters部分:
"transformerParameters": { "keyValue": "{\"key\":\"Value\"}" }
响应体文件保持直接引用:
{{ parameters.keyValue }}
该方式也能得到正确的JSON响应,但需手动转义字符串内的双引号。
验证结果
两种方法均可让接口返回预期结果:
{"key":"Value"}
内容的提问来源于stack exchange,提问作者Takakiri
相关产品推荐
相关产品推荐

