Доступ к вложенным заголовкам с помощью Spring Expression Language (SpEL) - PullRequest
1 голос
/ 19 апреля 2019

Мой маршрут Camel должен иметь доступ к заголовкам kafka.HEADERS из входящего объекта обмена. Один из заголовков, кроме того, представляет собой список заголовков, в котором типом значения является RecordHeader. Я хочу получить доступ к одному из RecordHeader (например, leadEquipmentId) и сравнить его со строкой. Пожалуйста, кто-нибудь может подсказать, как это сделать? Этот синтаксис не работает:

<spel>#{#{request.headers['kafka.HEADERS']}['leadEquipmentId']} == 'SomeEquipmentId'</spel>

enter image description here

1 Ответ

2 голосов
/ 19 апреля 2019

RecordHeaders не является Map, поэтому вы не можете использовать MapAccessor (['leadEquipmentId']).

Попробуйте

#{new String(request.headers['kafka.HEADERS'].lastHeader('leadEquipmentId').value())} == 'SomeEquipmentId'
...