如何向httpyac文件传递命令行输入参数并正确读取?
命令行向httpyac文件传递id参数的正确方法
1. 命令行调用(无需修改)
你当前用的命令行写法是正确的,直接保留即可:
httpyac ./seeds/fill.http --all --var id=0
--var id=0会把id参数注入到httpyac的运行上下文里。
2. .http文件内获取参数的正确写法
之前用{{$0}}是错误的,{{$0}}是用来读取命令行的位置参数(比如这里的./seeds/fill.http),通过--var传递的变量要直接用变量名引用,具体两种常用方式:
方式一:在变量定义或请求中直接引用
{{+ exports.defaultHeaders = { 'Content-Type': 'application/json', }; }} # 直接用{{id}}引用命令行传入的id参数 @id={{id}} # 示例:在请求URL里使用id GET /api/detail/{{id}}
方式二:在JS脚本块中使用参数
如果要在脚本逻辑里处理id,直接通过变量名访问就行:
{{+ // 直接访问命令行传入的id console.log("当前传入的id值:", id); exports.defaultHeaders = { 'Content-Type': 'application/json', }; }} @id={{id}}
额外说明
- 多参数传递直接加多个
--var,比如--var id=0 --var status=active - 变量名要和命令行传入的完全一致,大小写敏感
内容的提问来源于stack exchange,提问作者Phaki
相关产品推荐
相关产品推荐

