在 spel 表达式中添加动态值
Add dynamic value in spel expression
我有一个具有常量值的字符串,我想在使用 MV 网关时将其传递给 rename_to header。
我尝试了下面的代码片段,其中一个是在上下文中添加变量,然后将其与#basePath
一起使用
@Value("${basePath:/home/}")
String basePath;
.enrichHeaders(h -> h
.headerExpression(RENAME_TO, "'${basePath}' + headers[file_remoteFile]")
.headerExpression(REMOTE_FILE, "headers[file_remoteFile]")
.header(REMOTE_DIRECTORY, "headers[file_remoteDirectory]"))
我在启动时遇到错误。如何在 application.properties
中提供 basePath
@Value("${basePath:/home/}")
String basePath;
表示“如果没有basePath
属性.
,则将'/home/'注入变量basePath
您不能像在 SPeL 表达式中那样使用封闭 class 中的字段,也不能在 SpEL 中使用 属性 占位符;您必须连接 java.
中的字符串
.headerExpression(RENAME_TO, "'" + this.basePath + "'" + " + headers[file_remoteFile]")
我有一个具有常量值的字符串,我想在使用 MV 网关时将其传递给 rename_to header。
我尝试了下面的代码片段,其中一个是在上下文中添加变量,然后将其与#basePath
一起使用@Value("${basePath:/home/}")
String basePath;
.enrichHeaders(h -> h
.headerExpression(RENAME_TO, "'${basePath}' + headers[file_remoteFile]")
.headerExpression(REMOTE_FILE, "headers[file_remoteFile]")
.header(REMOTE_DIRECTORY, "headers[file_remoteDirectory]"))
我在启动时遇到错误。如何在 application.properties
中提供 basePath
@Value("${basePath:/home/}")
String basePath;
表示“如果没有basePath
属性.
basePath
您不能像在 SPeL 表达式中那样使用封闭 class 中的字段,也不能在 SpEL 中使用 属性 占位符;您必须连接 java.
中的字符串.headerExpression(RENAME_TO, "'" + this.basePath + "'" + " + headers[file_remoteFile]")