Restorm 中的每一个表达式都是一个 Handlebars 模板:URL、请求头、参数、
请求正文、表达式类型的环境变量、场景字段,以及 Transform template
动作的模板。
本页收录了 116 个命名助手和 22 个动态变量。
在支持自动补全的字段中,按 Ctrl+Space 即可触发补全。
| 助手 | 签名 | 作用 |
|---|
eq | {{eq a b}} | a === b |
ne | {{ne a b}} | a !== b |
neq | {{neq a b}} | ne 的别名 |
lt | {{lt a b}} | a < b(按数值比较) |
lte | {{lte a b}} | a <= b |
gt | {{gt a b}} | a > b |
gte | {{gte a b}} | a >= b |
and | {{#and a b}}…{{else}}…{{/and}} | 块助手:所有参数都为真 |
or | {{#or a b}}…{{/or}} | 块助手:至少有一个参数为真 |
not | {{not value}} | 取反 |
ifEquals | {{#ifEquals a b}}…{{else}}…{{/ifEquals}} | 块助手,严格相等 |
is | {{#is a b}}…{{/is}} | 块助手,按字符串比较是否相等 |
isnt | {{#isnt a b}}…{{/isnt}} | 块助手,按字符串比较是否不等 |
default | {{default value fallback}} | 若 value 已定义则取它,否则取 fallback |
compare | {{#compare a "op" b}}…{{/compare}} | 块助手;op ∈ == === != !== < <= > >= |
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
| 助手 | 签名 | 示例 → 结果 |
|---|
lowercase | {{lowercase s}} | Bonjour → bonjour |
uppercase | {{uppercase s}} | Bonjour → BONJOUR |
capitalize | {{capitalize s}} | bonjour tout → Bonjour tout |
capitalizeAll | {{capitalizeAll s}} | bonjour tout → Bonjour Tout |
titleize | {{titleize s}} | 与 capitalizeAll 相同 |
camelcase | {{camelcase s}} | mon-champ → monChamp |
pascalcase | {{pascalcase s}} | mon-champ → MonChamp |
snakecase | {{snakecase s}} | monChamp → mon_champ |
snakeCase | {{snakeCase s}} | snakecase 的别名 |
dashcase | {{dashcase s}} | monChamp → mon-champ |
dotcase | {{dotcase s}} | monChamp → mon.champ |
pathcase | {{pathcase s}} | monChamp → mon/champ |
sentencecase | {{sentencecase s}} | BONJOUR TOUT → Bonjour tout |
slugify | {{slugify s}} | Mon Beau Titre ! → mon-beau-titre |
trim | {{trim s}} | 移除两端的空白字符 |
trimLeft | {{trimLeft s}} | 只移除开头的 |
trimRight | {{trimRight s}} | 只移除结尾的 |
replace | {{replace s search replacement}} | 替换全部匹配(字面量匹配,不是正则) |
split | {{split s separator}} | 拆分为数组;分隔符默认为 , |
truncate | {{truncate s length suffix}} | 长度默认 50,后缀默认 ... |
ellipsis | {{ellipsis s length}} | 同 truncate,但后缀为 … |
append | {{append s suffix}} | 在末尾拼接 |
prepend | {{prepend s prefix}} | 在开头拼接 |
reverse | {{reverse value}} | 反转字符串或数组 |
startsWith | {{#startsWith s prefix}}…{{/startsWith}} | 块助手 |
endsWith | {{#endsWith s suffix}}…{{/endsWith}} | 块助手 |
contains | {{#contains sOrArray value}}…{{/contains}} | 块助手 |
match | {{match s pattern}} | 返回所有匹配项,或 null |
test | {{#test s pattern}}…{{/test}} | 块助手,正则表达式测试 |
padStart | {{padStart s length char}} | 在开头填充 |
padEnd | {{padEnd s length char}} | 在结尾填充 |
repeat | {{repeat s n}} | 重复 |
substring | {{substring s start end}} | 截取 |
indexOf | {{indexOf s search}} | 返回位置,或 -1 |
count | {{count s substring}} | 出现次数 |
newLineToBr | {{newLineToBr s}} | \n → <br> |
stripTags | {{stripTags s}} | 移除 <…> 标签 |
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
| 助手 | 签名 | 作用 |
|---|
add | {{add a b}} | 求和 |
subtract | {{subtract a b}} | 求差 |
multiply | {{multiply a b}} | 求积 |
divide | {{divide a b}} | 求商 |
modulo | {{modulo a b}} | 求余数 |
abs | {{abs a}} | 绝对值 |
ceil | {{ceil a}} | 向上取整 |
floor | {{floor a}} | 向下取整 |
round | {{round a}} | 四舍五入 |
pow | {{pow base exponent}} | 幂 |
sqrt | {{sqrt a}} | 平方根 |
random | {{random min max}} | 随机整数,包含上下界 |
sum | {{sum array}} | 数组各值之和 |
avg | {{avg array}} | 平均值 |
min | {{min a b c …}} | 最小值,可变参数 |
max | {{max a b c …}} | 最大值,可变参数 |
toFixed | {{toFixed number decimals}} | 返回保留 N 位小数的字符串 |
toInt | {{toInt number}} | 整数(十进制),失败时回退为 0 |
toFloat | {{toFloat number}} | 浮点数,失败时回退为 0 |
{"montantTTC": {{toFixed (multiply montantHT 1.2) 2}}}
| 助手 | 签名 | 作用 |
|---|
first | {{first array n}} | 第一个元素,或前 n 个元素 |
last | {{last array n}} | 最后一个元素,或后 n 个元素 |
length | {{length value}} | 数组或字符串的长度,或对象的键数量 |
join | {{join array separator}} | 分隔符默认为 , |
sort | {{sort array}} | 返回排序后的副本 |
unique | {{unique array}} | 去重 |
after | {{after array n}} | 索引 n 之后的全部元素 |
before | {{before array n}} | 索引 n 之前的全部元素 |
slice | {{slice array start end}} | 切片 |
concat | {{concat a b …}} | 拼接,并扁平化一层 |
flatten | {{flatten array}} | 扁平化一层 |
pluck | {{pluck array property}} | 从每个元素中提取同一个属性 |
itemAt | {{itemAt array index}} | 索引处的元素;负索引从末尾开始计数 |
inArray | {{#inArray array value}}…{{/inArray}} | 块助手 |
isArray | {{isArray value}} | 布尔值 |
isEmpty | {{#isEmpty value}}…{{/isEmpty}} | 块助手 |
some | {{#some array prop value}}…{{/some}} | 块助手:至少有一个元素匹配 |
every | {{#every array prop value}}…{{/every}} | 块助手:所有元素都匹配 |
{{join (pluck articles "reference") ","}}
| 助手 | 签名 | 作用 |
|---|
JSONstringify | {{JSONstringify obj}} | 序列化,缩进 2 个空格 |
JSONparse | {{JSONparse string}} | 解析;失败时返回 {} |
get | {{get obj "a.b.c"}} | 按点分路径读取 |
isObject | {{isObject value}} | 布尔值(非 null、非数组) |
typeOf | {{typeOf value}} | 返回 null、array,或 JavaScript 类型名 |
keys | {{keys obj}} | 所有键 |
values | {{values obj}} | 所有值 |
entries | {{entries obj}} | 所有 [key, value] 对 |
hasOwn | {{#hasOwn obj "key"}}…{{/hasOwn}} | 块助手 |
pick | {{pick obj "k1" "k2"}} | 只保留这些键 |
omit | {{omit obj "k1"}} | 移除这些键 |
merge | {{merge o1 o2}} | 浅合并 |
{{get reponse "data.client.identifiant"}}
| 助手 | 签名 | 作用 |
|---|
encodeURI | {{encodeURI s}} | 对 URL 的单个组成部分进行编码 |
decodeURI | {{decodeURI s}} | 解码 |
urlParse | {{urlParse url}} | 返回 { href, origin, protocol, host, hostname, port, pathname, search, hash },或 null |
stripQuerystring | {{stripQuerystring url}} | 移除查询字符串 |
stripProtocol | {{stripProtocol url}} | 移除协议部分 |
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
| 助手 | 签名 | 作用 |
|---|
year | {{year}} | 当前年份 |
now | {{now}} | 当前时刻,ISO 格式 |
timestamp | {{timestamp}} | 当前时刻,单位为毫秒 |
formatDate | {{formatDate date "YYYY-MM-DD"}} | 格式化日期 |
还要注意,{{timestamp}} 的单位是毫秒,而 {{$timestamp}}
(下文的 Postman 兼容变量)的单位是秒。
| 助手 | 签名 | 作用 |
|---|
coalesce | {{coalesce a b c}} | 第一个非空的值 |
uuid | {{uuid}} | 一个 v4 UUID |
noop | {{#noop}}…{{/noop}} | 不产生任何效果的块助手 |
raw | {{{{raw}}}}…{{{{/raw}}}} | 不解析其中的内容 |
times | {{#times n}}…{{/times}} | 重复渲染该块;可使用 @index、@first、@last |
range | {{range start end step}} | 数字数组,不含终点值 |
当您有意要发送双大括号时,raw 助手正是所需的工具 ——
例如测试一个自己也会解析双大括号的服务。
这些变量不接受参数,每次求值都会得到不同的结果。
| 变量 | 返回值 |
|---|
{{$guid}} | 一个 v4 UUID |
{{$randomUUID}} | 一个 v4 UUID |
{{$timestamp}} | 当前时刻,单位为秒 |
{{$isoTimestamp}} | 当前时刻,ISO 格式 |
{{$randomInt}} | 一个 0 到 1000 之间的整数 |
{{$randomAlphaNumeric}} | 8 个字母数字字符 |
{{$randomBoolean}} | true 或 false |
{{$randomFirstName}} | 一个名 |
{{$randomLastName}} | 一个姓 |
{{$randomFullName}} | 一个全名 |
{{$randomUserName}} | prenom.nom<0-99> |
{{$randomEmail}} | 一个电子邮件地址 |
{{$randomColor}} | 一个颜色名 |
{{$randomWord}} | 一个单词 |
{{$randomWords}} | 三个单词 |
{{$randomCompanyName}} | 一个公司名 |
{{$randomCity}} | 一个城市名 |
{{$randomCountry}} | 一个国家名 |
{{$randomPhoneNumber}} | 一个电话号码 |
{{$randomIP}} | 一个 IP 地址 |
{{$randomIPV4}} | 一个 IPv4 地址 |
{{$randomPrice}} | 一个保留两位小数的价格 |
"correlationId": "{{$guid}}",
"client": { "nom": "{{$randomFullName}}", "email": "{{$randomEmail}}" },
"emisLe": "{{$isoTimestamp}}"
没有专门用于读取变量的助手:变量本身就在上下文里。写 {{baseUrl}} 即可,
不要写 {{env "baseUrl"}}。
参阅变量与环境。