使用 Spring 表达式语言 (SpEL) 访问嵌套的 headers
Accessing nested headers with Spring Expression Language (SpEL)
我的 Camel 路由需要从入站交换 object 访问 kafka.HEADERS headers。其中一个headers又是一个headers的List,其中value的类型是RecordHeader。我想访问 RecordHeader 之一(例如 leadEquipmentId)并将其与字符串进行比较。请问有人可以建议怎么做吗?此语法无效:
<spel>#{#{request.headers['kafka.HEADERS']}['leadEquipmentId']} == 'SomeEquipmentId'</spel>
RecordHeaders
不是 Map
所以你不能使用 MapAccessor
(['leadEquipmentId']
).
尝试
#{new String(request.headers['kafka.HEADERS'].lastHeader('leadEquipmentId').value())} == 'SomeEquipmentId'
我的 Camel 路由需要从入站交换 object 访问 kafka.HEADERS headers。其中一个headers又是一个headers的List,其中value的类型是RecordHeader。我想访问 RecordHeader 之一(例如 leadEquipmentId)并将其与字符串进行比较。请问有人可以建议怎么做吗?此语法无效:
<spel>#{#{request.headers['kafka.HEADERS']}['leadEquipmentId']} == 'SomeEquipmentId'</spel>
RecordHeaders
不是 Map
所以你不能使用 MapAccessor
(['leadEquipmentId']
).
尝试
#{new String(request.headers['kafka.HEADERS'].lastHeader('leadEquipmentId').value())} == 'SomeEquipmentId'