如何在WireMock映射中将URL末尾参数转为整数赋值给属性
解决URL路径参数转为整数赋值给响应属性的问题
你可以通过模板语法的类型转换函数,将捕获到的字符串类型路径参数转为整数,具体修改如下:
修改响应体的模板表达式,使用parseInt()函数明确转换类型,同时不要给表达式加引号:
{ "request": { "method": "GET", "urlPattern": "/api/v4/Automation/Get/test/([0-9]+)" }, "response": { "status": 200, "headers": { "Content-Type": "application/json" }, "transformers": ["response-template"], "body": "{\"Status\":200,\"Message\":null,\"data\":{\"id\": {{parseInt(request.path.[5], 10)}}}}" } }
说明:
parseInt(request.path.[5], 10)会把路径中捕获到的字符串数字转为十进制整数,渲染后的JSON里id就是纯数字类型,而非字符串。- 不要给
{{...}}模板表达式添加引号,否则会强制输出字符串格式。
如果你的模板引擎支持隐式类型转换,也可以用{{request.path.[5] * 1}}替代parseInt,效果一致,但parseInt的可读性更强,更明确表达类型转换意图。
内容的提问来源于stack exchange,提问作者kaushal sharma
相关产品推荐
相关产品推荐

