如何在HTTP处理器脚本中使用就地变量?
如何在处理器脚本中使用就地变量?
在.http格式的请求文件中,你可以通过@变量名 = 值的形式定义就地变量,然后在请求前(< {% ... %})或请求后(> {% ... %})的处理器脚本中通过多种方式引用这些变量,以下结合示例详细说明:
变量定义
首先在HTTP文件顶部定义全局就地变量:
@my_var = "my_val"
处理器脚本中的变量引用方式
在{% ... %}包裹的JavaScript处理器脚本中,变量的引用方式及效果如下:
$my_var:处理器脚本引用就地变量的标准写法,直接解析为变量实际值"my_val"@my_var:部分HTTP客户端工具支持的写法,效果与$my_var一致,解析为"my_val"{{my_var}}:模板插值语法,在脚本中会被替换为变量值"my_val"{{@my_var}}:带前缀的模板语法,同样能正确解析出变量值"my_val"'{{my_var}}':单引号包裹后模板语法不会被解析,直接输出字符串"{{my_var}}"'{{@my_var}}':同理,输出字符串"{{@my_var}}"'{{$my_var}}':输出字符串"{{$my_var}}"
完整示例代码
// tests.http content @my_var = "my_val" < {% let myVar = "myVal"; client.log(myVar); // 输出: myVal myVar = $my_var; client.log(myVar); // 输出: my_val myVar = @my_var; client.log(myVar); // 输出: my_val myVar = {{my_var}}; client.log(myVar); // 输出: my_val myVar = {{@my_var}}; client.log(myVar); // 输出: my_val myVar = '{{my_var}}'; client.log(myVar); // 输出: {{my_var}} myVar = '{{@my_var}}'; client.log(myVar); // 输出: {{@my_var}} myVar = '{{$my_var}}'; client.log(myVar); // 输出: {{$my_var}} %} GET http://localhost/api/v2/model > {% let myVar = "myVal"; client.log(myVar); // 输出: myVal myVar = $my_var; client.log(myVar); // 输出: my_val myVar = @my_var; client.log(myVar); // 输出: my_val myVar = {{my_var}}; client.log(myVar); // 输出: my_val myVar = {{@my_var}}; client.log(myVar); // 输出: my_val myVar = '{{my_var}}'; client.log(myVar); // 输出: {{my_var}} myVar = '{{@my_var}}'; client.log(myVar); // 输出: {{@my_var}} myVar = '{{$my_var}}'; client.log(myVar); // 输出: {{$my_var}} %}
内容的提问来源于stack exchange,提问作者Nae
相关产品推荐
相关产品推荐

