动态Java业务规则验证

时间:2018-11-19 11:55:16

标签: java spring-boot

我正在努力适应以下用例。

Requiremnet:动态比较工具。方法的输入是一个json,然后将其映射到java类,然后运行一些验证并将其与验证结果一起保存到数据库中。 当您预定义json时,这看起来很简单。您可以创建一个Java类并编写代码以进行所需的验证。 我的用例是能够处理任何一种json,然后动态创建波束并在运行中对其运行一些规则

例如

Json 1:学生信息json,其中包含有关名称,类,标记的信息。

验证:仅当mark> 50时才将数据持久保存到DB

Json 2:订单信息json,其中包含有关订单ID,价格,订单类型的信息。

验证:仅当订单类型为“鞋子”时才将数据持久保存到数据库。

我需要做的事情:

步骤1:创建一个测试文件,其中包含有关验证对象的数据类型和验证条件的信息。 (只有这样,我认为我可以动态通过验证规则。就像Apache在日志存储中如何做到的那样。 例如:https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html

第2步:在编译Spring Boot项目时通过此测试文件。

Sample text file format

input{
name:String
class:String
grade:String
}
ValidationRule{
marks>50
}
output{
//if in case you don't want to persist all the data to db.You can mention which        
field to use.
}

现在我借助于此文本文件假设Java可以创建一个bean。然后对其应用业务规则。

0 个答案:

没有答案