如何使用 JAVA 库将 YAML 文件用作 DataWeave 的输入?
How can I use YAML files as input to DataWeave using JAVA library?
我在 Java 中使用 dataweave 库时遇到问题。
我有一个 DW 脚本,我需要接收一个有效负载文件(如 application/json
)和另一个参数(如 application/yaml
),如下例所示:
%dw 2.0
input payload application/json
input parameters application/yaml
output application/json
---
{ input1: payload, input2: parameters }
playground 中的两个输入文件的脚本运行正常,但是当我尝试使用 Java 库执行此操作时。它是这样的:
final ScriptingBindings bindings = new ScriptingBindings()
.addBinding("payload", input1, "application/json", new HashMap<>())
.addBinding("parameter", input2, "application/yaml", new HashMap<>());
var result = compiledExpression.write(bindings);
它不起作用,并且在错误中似乎不支持 application/yaml
但在文档中它说是并且在操场上它也没有出现问题。这条消息是真的还是我滥用了图书馆?
Unknown content type `application/yaml`. Supported content types are: `application/dw`, `application/json`, `application/xml`, `application/csv`, `application/octet-stream`, `text/plain`, `application/x-www-form-urlencoded`, `multipart/form-data`, `text/x-java-properties`, `application/java`
您需要将 yaml-module 添加到您项目中的依赖项中,然后您就可以使用它了。
我在 Java 中使用 dataweave 库时遇到问题。
我有一个 DW 脚本,我需要接收一个有效负载文件(如 application/json
)和另一个参数(如 application/yaml
),如下例所示:
%dw 2.0
input payload application/json
input parameters application/yaml
output application/json
---
{ input1: payload, input2: parameters }
playground 中的两个输入文件的脚本运行正常,但是当我尝试使用 Java 库执行此操作时。它是这样的:
final ScriptingBindings bindings = new ScriptingBindings()
.addBinding("payload", input1, "application/json", new HashMap<>())
.addBinding("parameter", input2, "application/yaml", new HashMap<>());
var result = compiledExpression.write(bindings);
它不起作用,并且在错误中似乎不支持 application/yaml
但在文档中它说是并且在操场上它也没有出现问题。这条消息是真的还是我滥用了图书馆?
Unknown content type `application/yaml`. Supported content types are: `application/dw`, `application/json`, `application/xml`, `application/csv`, `application/octet-stream`, `text/plain`, `application/x-www-form-urlencoded`, `multipart/form-data`, `text/x-java-properties`, `application/java`
您需要将 yaml-module 添加到您项目中的依赖项中,然后您就可以使用它了。