我正在学习apache,我创建了一个spring引导项目,在这个项目中我想用json模式验证消息体。在我的项目中,我创建了从计算机中的位置获取文件的路由,然后将它传递到下一个端点,在那里我应用了json验证器组件,然后传递到seda端点,在那里我使用了输出。
守则如下:
@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文件内容是:
{
"id" :1
}myschema.json文件内容是:
{
"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
发布于 2020-03-24 13:19:27
这要么是复制/粘贴错误,要么是您的模式文件不是JSON模式,而是与json数据相同的。
查看骆驼医生以获得一个可以与验证器一起使用的JSON模式文件的示例。
https://stackoverflow.com/questions/60814872
复制相似问题