DSL Parsing规则
Last updated
Last updated
在 Parser 级别(即,在 stream 或 task 定义的主体内),规则如下:
选项的值通常解析到第一个空格字符。
不过,它们可以由字符串组成,用单引号或双引号包围。
请使用连续的两个相同引号使用。
因此,--expression
在以下示例中,filter application 的配置效果是完全相同的:
可以说,最后一个更容易阅读。因为在实际的表达式周围使用了引号。实际表达式是payload > 5
(没有引号)。
现在,假设我们想对字符串的值进行测试。如果我们想要比较 payload
和 SpEL表达式,我们可以使用以下方法:
请注意,前面的示例是不考虑在shell之中使用(例如,当直接调用REST API时)。因为在shell中输入时,很可能整个stream 的定义本身都在双引号中,需要转义。整个例子变成如下:
key
content
第一行
这是有效的,不过因为没有空格,可读性并不好
第二行
只使用单引号来包括整个参数。因此,参数中的单引号需要
加倍
第三行
SpEL可以识别带有单引号或双引号的字符串文本,因此最后
一种方法可以说是最易读的。