我们的应用程序需要接受来自2个客户端的输入,这些客户端的输入有效负载不同。我们无法在应用程序中为输入数据创建数据模型来验证每个字段。我们需要在数据库中灵活管理输入的JSON密钥及其层次结构(这就是下面的数据库配置的原因)。因此,我在考虑是否可以使用相同的数据库配置来生成JSONSchema,以便我们可以验证输入。
应用1可以发送以下数据:
{
"user_details":{
"fname":"John",
"lname":"Smith",
"address":{"city":"NY"}
}
}
应用2可以发送以下数据:
{
"license":{
"number":"ABC123",
"expired":true
}
}
数据库表:字段
+----+-----------+--------------+--------+----------+--------+
| id | parent_id | label | type | required | app_id |
+----+-----------+--------------+--------+----------+--------+
| 1 | 0 | user_details | object | true | 1 |
| 2 | 1 | fname | string | true | 1 |
| 3 | 1 | lname | string | true | 1 |
| 4 | 1 | address | object | true | 1 |
| 5 | 4 | city | string | true | 1 |
| 6 | 0 | license | object | true | 2 |
| 7 | 6 | number | number | true | 2 |
| 8 | 6 | expired | string | false | 2 |
+----+-----------+--------------+--------+----------+--------+