Mule 4中如何在被调用流内获取APIKit路由映射的Action值
获取flow-1中当前请求的action值
APIKit完成路由后,会把请求匹配到的配置信息、原始请求信息都存在消息内置属性中,不需要额外传参就能直接读取,具体取值方式根据你使用的Mule版本区分:
- Mule 4 版本
- 取原始HTTP请求方法:读
attributes.method,返回值为大写的请求方法字符串,比如GET、POST,和你配置的action值一一对应 - 取APIKit路由匹配到的配置action值:读
attributes.apikit.action,这个值是APIKit根据你写的apikit:flow-mapping规则匹配出来的action字段值,哪怕上游不是HTTP连接器触发的请求,这个值也能准确拿到,稳定性更高
- 取原始HTTP请求方法:读
- Mule 3 版本
直接读取入站属性inboundProperties.'http.method'就能拿到对应的请求方法标识
你可以直接在流内的组件里用表达式引用这个值,比如在日志组件里打印验证:
<logger level="INFO" message="当前请求匹配的action为:#[attributes.apikit.action]" />
小提示:如果你的流后续可能对接非HTTP的触发源,优先用
attributes.apikit.action取值,不会受上游协议差异影响。
内容的提问来源于stack exchange,提问作者Thinker-101
相关产品推荐
相关产品推荐

