首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在spring引导应用程序中使用apache camel使用json模式验证消息体

如何在spring引导应用程序中使用apache camel使用json模式验证消息体
EN

Stack Overflow用户
提问于 2020-03-23 13:51:58
回答 1查看 1.4K关注 0票数 0

我正在学习apache,我创建了一个spring引导项目,在这个项目中我想用json模式验证消息体。在我的项目中,我创建了从计算机中的位置获取文件的路由,然后将它传递到下一个端点,在那里我应用了json验证器组件,然后传递到seda端点,在那里我使用了输出。

守则如下:

代码语言:javascript
复制
@SpringBootApplication
public class ExampleCamelDemoApplication {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(ExampleCamelDemoApplication.class, args);


        CamelContext context = new DefaultCamelContext();

        context.addRoutes(new RouteBuilder() {

            public void configure() throws Exception {

//
                from("file:C:\\sourceFolder?fileName=test.json&noop=true").convertBodyTo(String.class).to("json-validator:classpath:myschema.json")
                .to("seda:end");
            }

        });
        context.start();
        ConsumerTemplate ct = context.createConsumerTemplate();
        System.out.println(ct.receiveBody("seda:end"));
        Thread.sleep(10000);
        context.stop();

    }

}

test.json文件内容是:

代码语言:javascript
复制
{
  "id" :1
 }

myschema.json文件内容是:

代码语言:javascript
复制
{
  "id" :1
 } 

我将myschema.json文件放在src/main/resources文件夹中

我正在犯错误:

消息历史记录(禁用完整的消息历史记录)

from[file://C:%5CsourceFolder?fileName=test.json&noop=true] RouteId ProcessorId处理器经过(ms) route1 .route1 json-验证器:classpath:myschema.json

斯塔克迹

com.networknt.schema.JsonSchema.combineCurrentUriWithIds(JsonSchema.java:87) ~json模式-验证器-1.0.29.jar:na at com.networknt.schema.JsonSchema.(JsonSchema.java:75) ~json-schema-验证器-1.0.29.jar:na at com.networknt.schema.JsonSchema.(JsonSchema.java:62) ~json模式-验证器-1.0.29.jar:na at com.networknt.schema.JsonSchema.(JsonSchema )com.networknt.schema.JsonSchemaFactory.newJsonSchema(JsonSchemaFactory.java:253) ~json模式验证器-1.0.29.jar:na at .java:57~json模式-验证器-1.0.29.jar:na

EN

回答 1

Stack Overflow用户

发布于 2020-03-24 13:19:27

这要么是复制/粘贴错误,要么是您的模式文件不是JSON模式,而是与json数据相同的。

查看骆驼医生以获得一个可以与验证器一起使用的JSON模式文件的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60814872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档