在Spring集成中,您可以在mapped-request-headers
中设置属性mapped-response-headers
,header-mapper
和outbound-gateway
。
我的目标是过滤掉特定标题,因此我需要某种黑名单。但前两个属性是白名单。我可以说mapped-request-headers="*"
,然后传递每个标头,或者我可以放置一些特定的标头,但是只传递这些标头。但那不是我想要的。
我可以以某种方式覆盖标头映射器并将此bean添加到header-mapper
属性,但这是这样做的吗? (我想知道为什么标题可以列入白名单但不列入黑名单)。是不是有一些功能来设置“过滤弹簧添加标题”和“手动添加标题”或什么?
答案 0 :(得分:2)
您没有说明您正在使用的Spring Integration版本,或者您正在使用的端点类型。
从版本4.3开始,从AbstractHeaderMapper
(AMQP,SOAP,XMPP)扩展的映射器现在支持否定标题"!foo,!bar,baz*"
。
如果您没有使用这些协议之一,则可以在端点上游(用于出站)或在端点(入站)之后使用头过滤器。
对于HTTP标头映射器(DefaultHttpHeaderMapper
),您可以连接该类型的自定义Bean,您可以通过excludedOutboundStandardRequestHeaderNames
和excludedInboundStandardResponseHeaderNames
属性添加要排除的任何标准标头。