变量
变量的作用
变量用于模板内容赋值、后置任务HTTP_TASK
中负载内容赋值、条件EL
表达式。
变量的种类
变量现有三种类型:
- 参数变量:目标方法的入参
- 随机变量:模板配置添加的变量
- 环境变量:连接目标应用指定目标应用
参数变量
参数变量是目标方法的入参,变量命名以p
前缀开始,例如p0
,p1
,p2
分别表示方法的第一个,第二个,第三个变量。
举例,考虑一下目标方法:
java
class TestResponse{
String code;
String message;
}
class TestRequest{
String name;
}
public TestResponse sayHello(TestRequest request,String param2){
//.... logic
}
此时变量有p0
代表TestRequst
类型的request
变量,p1
代表String
类型的param2
变量。
随机变量
通过模板配置可以指定一些随机变量用于一些随机结果的赋值,变量名以模板配置的变量名为准。
举例,配置变量名称为code
,随机值有000000
,999999
,表示code
的取值50%概率取00000
,50%概率取99999
。
环境变量
连接目标应用时,指定的环境变量,该变量一旦连接成功,环境变量无法修改,只能通过断开应用重新连接指定。
举例,考虑目标应用有如下变量:
java
package com.sdefaa.just.mock.test;
// ...
public class Test{
// ...
public final static ThreadLocal<Object> REQUEST_ID_THREAD_LOCAL = ThreadLocal.withInitial(() -> UUID.randomUUID().toString());
// ...
public TestResponse sayHello(TestRequest request,String param2){
//.... logic
}
}
连接目标应用指定:com.sdefaa.just.mock.test.Test.REQUEST_ID_THREAD_LOCAL.get()
此时存在环境变量,变量名以p前缀开始,对应目标方法参数个数的最后索引。例如,对于目标方法sayHello
,p2代表该环境变量。