我有一个服务器,即使值为null,也需要在url中发送所有参数,但似乎HTTP端点仅在值不为null时才发送查询参数。
实施例: 我需要的是: http://example.com/?v1=&v2=&v3=something&v4=
但是,似乎将请求创建为: http://example.com/?v3=something
示例代码:
<http:request-builder>
<http:query-param paramName="v1" value="#[message.inboundProperties.'http.query.params'.v1]"/>
<http:query-param paramName="v2" value="#[message.inboundProperties.'http.query.params'.v2]"/>
<http:query-param paramName="v3" value="#[message.inboundProperties.'http.query.params'.v3]"/>
<http:query-param paramName="v4" value="#[message.inboundProperties.'http.query.params'.v4]"/>
</http:request-builder>
答案 0 :(得分:1)
如何使用三元运算符将其设置为空字符串。例如:
<http:query-param paramName="v1" value="#[message.inboundProperties.'http.query.params'.v1 != null ? message.inboundProperties.'http.query.params'.v1 : '']"/>
答案 1 :(得分:0)
您使用的是哪个版本?我相信这已在issue中得到修复。但是,在这种情况下,预期的网址为http://example.com/?v1&v2&v3=something&v4。