gpt4 book ai didi

java - 使用 url 表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:18 25 4
gpt4 key购买 nike

我有一个 spring 集成配置为从一个属性和一些变量构建一个 url:

    <int-http:outbound-gateway
url="${pdf.url}?id={id}&amp;version={version}"
request-factory="int.http.requestFactory"
http-method="GET"
transfer-cookies="false"
header-mapper="fTokenHeaderMapper"
expected-response-type="java.lang.String" >
<int-http:uri-variable name="id" expression="payload.id"/>
<int-http:uri-variable name="version" expression="payload.version"/>
</int-http:outbound-gateway>

现在我想更改它,以便服务器部分 (pdf.url) 可以动态更改,而不仅仅是在启动时更改。为了实现这一点,我已经从“url”更改为“url-expression”以及类似这样的内容:

    <int-http:outbound-gateway
url-expression="@configurationService.getConfiguration('pdf.url')?id={id}&amp;version={version}"
request-factory="int.http.requestFactory"
http-method="GET"
transfer-cookies="false"
header-mapper="fTokenHeaderMapper"
expected-response-type="java.lang.String" >
<int-http:uri-variable name="id" expression="payload.id"/>
<int-http:uri-variable name="version" expression="payload.version"/>
</int-http:outbound-gateway>

这一行似乎有效:

url-expression="@configurationService.getConfiguration('pdf.url')"

但我如何以与第一个示例类似的方式包含变量?

最佳答案

从大的高度我也将 URI 变量部分移动到 configurationService.getConfiguration()。读取 XML 配置会更清晰。

从另一方面看,url-expression 是一个 SpEL 运行时表达式。所以,它的任何不应该是可执行的部分,必须是 literal:

url-expression="@configurationService.getConfiguration('pdf.url') + '?id={id}&amp;version={version}'"

关于java - 使用 url 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34877352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com