0

我是 Apache Camel 的新手。我想访问通过发布请求发送的数据,以便从 S3 下载文件。这是我写的路由器。

public static class HelloRoute extends RouteBuilder {
       
        @Override
        public void configure() {
            rest("/")
                .post("file-from-s3")
                    .route()
                    .setHeader(AWS2S3Constants.KEY, constant("filename"))
                    .to("aws2-s3://bucketnameaccessKey=INSERT&secretKey=INSERT&region=INSERT&operation=getObject")
                    .to("file:/tmp/")
                    .endRest();
        }

将要发送的对应json数据->

{
     "filename" : "test.txt",
     "bucketname": "testbucket",
     "accessKey" : "key",
     "secretKey" : "key2",
     "region"    : "region"

}

如何在上面的代码中访问这些 json 值?

4

1 回答 1

0

您需要先解组 JSON 请求数据。您可以从各种库和方法中进行选择,查看JSON 的 Camel 文档

然后消息正文包含您将数据解组为(POJO、Map)的结构。因此,您可以通过直接在路由中使用Simple或从路由调用的Bean 方法等以各种方式访问​​它。

于 2020-06-30T05:16:23.190 回答