当前位置: 首页 > article >正文

入参校验产品化 schema

与规则引擎不同,规则面向技术, 传入data, 返回 所有异常字段和原因.

   面向技术, 先有对象,再有规则, 如何通过交互来编写schema是个难题?  

   和json-schema区别: 思路上就是反过来的, 面相产品, schema可视化编辑器, 是面向结构设计.  现有模型,才有数据, 才可以编程. 

基于配置的校验

动态配置

Spring AOP+反射实现自定义动态配置校验规则,让校验规则飞起来_程序猿洞晓的博客-CSDN博客

dynamic-check: 动态校验,基于Aspect和反射实现请求参数动态校验

json-schema

  schema可视化编辑器

json-schema 可视化编辑器发布了 - 掘金

GitHub - fei33423/fork_json-schema-editor-visual: A json-schema editor of high efficient and easy-to-use, base on React. 

 java端校验

     JSON Validator:工具与技术的比较_jsonvalidator_fmechina的博客-CSDN博客

gpt: 有一些Java实现支持JSON Schema draft 2020-12版本。以下是一些常见的实现:

  1. Jackson:Jackson是一个流行的JSON库,提供对JSON Schema的支持。Jackson 2.12.0版本已经支持JSON Schema draft 2020-12。

  2. json-schema-validator:这是一个基于Jackson的JSON Schema验证器。最新版本已经支持JSON Schema draft 2020-12。

  3. Jsonix:Jsonix是一个XML和JSON之间的映射器,支持JSON Schema验证。它已经支持JSON Schema draft 2020-12。

  4. AWS SDK for Java:AWS SDK for Java是Amazon Web Services的官方Java库,提供了对JSON Schema的验证功能。最新版本已经支持JSON Schema draft 2020-12。

  5. Everit JSON Schema:Everit是一个轻量级的JSON Schema验证器,支持JSON Schema draft 2020-12。

请注意,这只是一小部分支持JSON Schema draft 2020-12的Java实现。还有许多其他的库和工具可供使用。

JSON Schema 校验库——fge-json-schema-validator 依赖jackson(java版本)_json schema 在线_赶路人儿的博客-CSDN博客

JSON Schema的网站,列表中有27种不同的各类计算机编程语言的选项。

物料 低代码表单设计 (内含 json-schema)

form-create-designer开源啦,好用的vue可视化表单设计器 - 最终生成json-scheme - 掘金

GitHub - fei33423/fork_vue-json-schema-form

你不知道的 JSON Schema , 已经成为低代码平台的基石【低代码平台】_傲娇的koala的博客-CSDN博客

Mall-Cook: 介绍 Mall-Cook是一个基于 vue 开发的可视化商城搭建平台,包括多页面可视化构建、Json Schema生成器(可视化搭建物料控制面板),实现组件流水线式标准接入平台

schema-form给开发者用的表单工具 - 掘金

 schema-generator: FR的schema的可视化生成器

可视化搭建开源

   

对可视化搭建感兴趣的同学,可以阅读树酱君之前写的 从0到1开发可视化数据大屏 📺

其他开源low-code项目可借鉴, 可视化页面搭建 H5-Dooring

  • 百度 - amis
  • vue-layout
  • 阿里巴巴 - formily
  • 阿里巴巴 - alist
  • 鲁班H5

官网

   JSON Schema | The home of JSON Schema

   what is schema

    Any “validation tool” for a sufficiently complex data format, therefore, will likely have two phases of validation: one at the schema (or structural) level, and one at the semantic(语义) level . The latter check will likely need to be implemented using a more general-purpose programming language (通用语言).

schema  if else 能力

Applying Subschemas Conditionally — Understanding JSON Schema 2020-12 documentation

翻译: 子模式条件 - JSON Shcema 使用介绍及 Monaco-editor 的 JSON Schema 配置 - 掘金

vue组件通过 JSON Schema 生成对应的form表单

  介绍 | Vue JSON Schema Form

schema生成器

JSON Schema 生成器 | Vue Json schema form   

 json-schema draft 2020-12 的java实现有么? 

xml-shcema

    xsd可视化编辑器

    

    www.xml-tools.net, XMLSpy, JDeveloper , XSD Diagram , Liquid XML,

    Visual Studio 2013内置了一个非常酷的可视化工具。在文件->打开->文件中,选择.xsd,然后将元 素从XML Schema Explorer拖到设计器图面上。

     Grid-ML Schema Viewer非常适合搜索和可视化XML Schema:https://gridml.com/xml-schema-viewer。当涉及大型模式或浏览图表不可行时,我发现它比其他工具更好。该工具还允许您复制选择项的XPath或JSON路径。

Spring Expression Language (SpEL)

紧接着Spring Validator 5.7 Spring Validator ,JSR-303  6. Spring Expression Language (SpEL)

巧用Spring Expression(SpEL)做动态校验_spel表达式校验_淸風是也的博客-CSDN博客

基于注解的校验

JSR-303 Bean验证API

Spring Validator

5.7 Spring 3 Validation

Spring 3对其验证支持进行了一些增强。 首先,现在完全支持JSR-303 Bean验证API。 其次,以编程方式使用时,Spring的DataBinder现在可以验证对象以及绑定到它们。 第三,Spring MVC现在支持声明式验证@Controller输入,@Size(max=64),@Min(0)

JSR - 303:

Hibernate Validator 是 Bean Validation 的参考实现,说白了Hibernate Validator就是JSR-303

下载 JSR 303 – Bean Validation 规范 http://jcp.org/en/jsr/detail?id=303

JSR 303 Annotations List

Spring Bean Validation Example with JSR-303 Annotations 下

hibernate-validate

复杂校验 条件校验 DefaultGroupSequenceProvider

ConditionStringResultStringConstraint,DefaultGroupSequenceProvider

Hibernate Validator 第25篇:多个字段的联合约束-条件结果约束_顽木芽的博客-CSDN博客

 解决多字段联合逻辑校验问题【享学Spring MVC】

spring-web校验

SpringBoot Validation优雅的全局参数校验 - 知乎


http://www.kler.cn/a/15783.html

相关文章:

  • 30-集群Backup Restore
  • 客厅打苍蝇fly测试总结1116
  • C:原反补码
  • vue3 element el-table实现表格动态增加/删除/编辑表格行,带有校验规则
  • .NET 9 中 IFormFile 的详细使用讲解
  • @Autowired 和 @Resource思考(注入redisTemplate时发现一些奇怪的现象)
  • SQL server 数据库同步(发布与订阅)【解决办法】
  • 即时通讯独立系统源码包含Android 、iOS、PC
  • RabbitMQ笔记
  • Mysql 日志
  • 【教程分享】一键部署MySQL,轻松搞定Docker安装和配置!
  • 2023有潜力的新药都有哪些?新药筛选方法总结
  • VP记录:Codeforces Round 867 (Div. 3) A~G2
  • GeoTools实战指南: 一步步教您轻松实现Shapefile矢量图层可视化
  • 使用Git和GitHub完成团队项目开发
  • 【python基础语法三】列表,元组,集合,字典相关操作
  • 数据可视化大屏的页面布局以及自适应
  • CVE-2023-28432 MiniO信息泄露漏洞复现
  • 哈夫曼树【北邮机试】
  • LCD、OLED、Mini LED、Micro LED和Smart MNT
  • 【备战蓝桥杯国赛-国赛真题】2022
  • LDAP概念和原理介绍
  • Java入门教程||Java 封装||Java 接口
  • Linux Ansible-Jinjia2模板
  • iOS 吸顶效果
  • 【Redis】Redis中的5种基础数据类型详解