变量提取模块是多个插件中都使用到的一个模块, 它主要用来从请求中提取出各种信息, 比如query string, form表单里的字段, 某个header头等等。
它支持两种提取方式:
关于变量提取方式的设计可参看issues#15。
顾名思义, 索引式提取的含义是将提取出的所有变量按照顺序保存在一个数组中, 后续以下标的方式来使用。
比如我们在”变量提取模块”提取了三个值:
那么之后就可以通过${1}、${2}、${3}来使用, 其中
v0.1
模板时提取主要为了解决索引式提取必须要按序使用的问题, 并且当需要从uri中提取多个值时索引式提取方式并不友好。
如以下示例, 我们提取了四个值:
则之后我们可以通过以下方式来使用:
^/start/(.*)/(.*)/end
的URI中提取出的第1个分段值
^/start/(.*)/(.*)/end
的URI中提取出的第2个分段值
注意, 若从URI中提取, 仍然要根据顺序来使用, 如{{uri.v1}}、{{uri.v2}}、{{uri.v3}}.