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

入参校验产品化 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优雅的全局参数校验 - 知乎

相关文章:

入参校验产品化 schema

与规则引擎不同,规则面向技术, 传入data, 返回 所有异常字段和原因. 面向技术, 先有对象,再有规则, 如何通过交互来编写schema是个难题? 和json-schema区别: 思路上就是反过来的, 面相产品, schema可视化编辑器, 是面向结构设计. 现有模型,才有数据, 才可以编程. 基于配置…...

【Linux】7、一篇文章学习 Linux 中一些硬核的常用知识

目录 一、systemctl二、软链接三、日期(date 命令)四、Linux 的时区(1) 修改时区(2) ntp 五、IP 地址六、主机名七、域名解析八、配置 Linux 的固定 IP 地址(1) 在 VMwareWorkstation 中配置 IP 地址网关和网段(IP 地址的范围)(2)…...

gpt4-如何使用

gpt-4怎么用 目前,GPT-4尚未发布或公开释放。因此,我们目前无法使用GPT-4。GPT-4是由OpenAI公司开发的人工智能语言模型,其预计能够比先前的版本GPT-3更加强大和智能化,但我们需要等待OpenAI官方发布有关GPT-4的更多信息。 如果您…...

定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现?

定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现? 可以使用linux的计划任务功能crontab来实现定时执行脚本。 具体步骤如下: 编辑crontab计划任务列表: bash crontab -e 这会打开一个文本编辑器,你可以在里面添加计划任务。添加一行计划任务,内容如…...

C++ 设计模式23:访问者模式

C++ 23种设计模式系列文章目录 创建型模式 第1式 工厂方法模式 第2式 抽象工厂模式 第3式 单例模式 第4式 建造者模式 第5式 原型模式 结构型模式 第6式 适配器模式 第7式 桥接模式 第8式 组合模式 第9式 装饰器模式...

使用python实现葡萄酒威士忌风味特征分类

聚类威士忌 目的和描述:苏格兰威士忌因其复杂性和多样化的风味而备受推崇。据信,生产它的苏格兰地区具有独特的风味特征。在本案例研究中,我们将根据苏格兰威士忌的风味特征对其进行分类。我们将使用的数据集包含来自几个酿酒厂的精选苏格兰威士忌,我们将尝试将威士忌聚类…...

代理IP(代理服务器)的作用和注意事项

代理IP(也称代理服务器)是一种网络技术,可以用来隐藏用户的真实IP地址并代替其发起网络请求。这种技术在许多场景下都有广泛的应用,如加速网络访问、保护个人隐私、绕过地理限制等。下面将详细介绍代理IP的原理和应用。 原理 代理…...

问题解决 | Failed to initialize NVML: Driver/library version mismatch

问题描述: Ubuntu20.04服务器上,一个docker容器正在训练模型,打开另外一个docker容器时,出现以下错误 Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to st…...

ThinkPHP模型操作上

ThinkPHP模型操作上 前言模型一、创建模型二、模型操作 总结 前言 在mvc架构中,模型的解释是写逻辑代码的地方,其实还可以这样理解,就是一串操作写在一个模型类中,就是你要完成某一项功能,将这个功能的代码写在一个mod…...

053:cesium显示网格切片标识,展示X、Y、Level 坐标

第053个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载瓦片网格切分标识地图。,它在切片方案中的每个渲染图块周围绘制一个框,并在其中绘制一个标签,指示图块的 X、Y、Level 坐标。 这主要用于调试地形和图像渲染问题。 直接复制下面的 vue+cesium源代码,操…...

FPGA基于XDMA实现PCIE X8视频采集HDMI输出 提供工程源码和QT上位机程序和技术支持

目录 1、前言2、我已有的PCIE方案3、PCIE理论4、总体设计思路和方案5、vivado工程详解6、驱动安装7、QT上位机软件8、上板调试验证9、福利:工程代码的获取 1、前言 PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PC…...

简单的redis master slave 配置

只做一个简单的master - slave 配置,新手试炼配置用。使用windows系统 master 配置 redis 默认,密码为空。首先配置redis(for master)的密码。 修改安装目录下的redis.windows.conf文件,搜索到requirepass, # requirepass foob…...

MySQL高级第十七篇:数据库主从复制原理及保证数据一致性

MySQL高级第十七篇:数据库主从复制原理及保证数据一致性 一、概述1. 提升数据库的并发能力2. 主从复制的作用? 二、主从复制原理三、搭建一主一从环境四、如何解决数据一致性问题?1. 方案一、异步复制2. 方案二、半同步复制3. 方案三、组复制…...

PM不想做项目管理了,还能干点啥?

做项目经理太累了! 那么 不做项目经理还能做什么呢? 01 铁锅批发商 毕竟 当项目经理的时候 已经囤积了成百上千口锅 十年背锅经验不是瞎吹 并且可现场演示铁锅烙饼 老板亲授,真实还原,充饥必备 02 Office优化师 当项目…...

Java面试被问Spring哑口无言?100道Spring面试考点解析

对于开发同学来说,Spring 框架熟悉又陌生。 熟悉:开发过程中无时无刻不在使用 Spring 的知识点;陌生:对于基本理论知识疏于整理与记忆。导致很多同学面试时对于 Spring 相关的题目知其答案,但表达不够完整准确。今天展…...

2023年制造业产品经理NPDP认证报名找弘博创新

产品经理国际资格认证NPDP是新产品开发方面的认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年,是…...

Linux基础命令和基础知识总结

1. 常用文件管理命令介绍 (1) ctrl c: 取消命令,并且换行 (2) ctrl u: 清空本行命令 (3) tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项 (4) ls: 列出当前目录下所有文件,蓝色的是文件夹&…...

Vue组件-非单文本组件

非单文本组件(用的少) 在vue中,组件是有两种编写格式的,第一种格式叫非单文本组件,第二种格式叫单文本组件 非单文本组件:一个文件中含有多个组件,也叫多文本组件,比如demo.html里面包含js,css… 单文本…...

停车场管理系统的设计与实现_kaic

目 录 1 概 述 1.1研究背景 1.2研究现状 1.3研究内容 2 相关技术简介 2.1 JSP技术 2.2 JAVA技术 2.3 MYSQL数据库 2.4 B/S结构 3 系统需求分析 3.1 系统可行性分析 3.1.1 操作可行性 3.1.2 经济可行性 3.1.3 技术可行性 3.2 系统性能分析 3.3系统流程分析 3.3.1注册流程 3.3.…...

seleniumUI自动化登录失败案例重新尝试WhileTrue

一个用户每次登录失败,失败N次,无法进入下一url时,怎样会重新尝试N次重新登录呢 ? 我们可以使用wihile true判断,并使用currenturl判断,下面就介绍以下个人的方法 currenturlEGTconfigFile.driver.curren…...

前端开发之vue动态路由实现方案

前端开发之vue动态路由实现方案 前言2. 实现1、登录页面创建登录函数和watch监听路由2、调用的login方法(1)登录方法(2)存储token 3、router.push的时候调用路由守卫(1)创建路由守卫,建议路由守…...

JAVA接口的基本测试------JAVA入门基础教程

public class Interface {public static void main(String[] args){System.out.println(Flyable.max_speed);System.out.println(Flyable.min_speed);//类与接口是实现关系Bullet b new Bullet();b.attack();b.fly();Flyable f new Bullet();f.fly();} }interface Flyable {p…...

SLAM论文速递:SLAM—— 面向动态环境的多用途SLAM框架—4.25(1)

论文信息 题目: Multi-purpose SLAM framework for Dynamic Environment 面向动态环境的多用途SLAM框架论文地址: 2020 IEEE/SICE International Symposium on System Integration (SII)https://ieeexplore.ieee.org/abstract/document/9026299发表期刊…...

Dubbo 简易环境搭建以及使用(2)

目录 环境搭建 Dubbo的3种使用方式: 1. XML配置的方式,一般用于Spring MVC工程 2. 配置文件的方式 (spring boot工程) 3. 注解方式 Dubbo 控制台 环境搭建 本篇将介绍Spring boot zookeeper Dubbo 简易环境的搭建以及使用…...

免费无需魔法会语音聊天的ChatGPT

今天发现了一个很好的ChatGPT,可以语音聊天,而且免费无需魔法 角色目前包括夏洛克、雷电影等等,对话的声调完全模拟了原角色! 目前只有英文和日语两种对话,我们可以文字输入或者语音输入,中文即可&#xff…...

springboot 参数统一处理

目录 一、普通参数:ParameterRequestWrapper 二、HttpHelper请求处理字符串工具类 三、实体json参数:RequestWrapper 四、过滤器:PostFilter 五、Controller 一、普通参数:ParameterRequestWrapper import javax.servlet.http.HttpServletRequest;…...

成就更强大的自己

每一次低谷,都会酝酿向上的力量。 每一次痛苦过后,都会洗涤掉心理深处的灰尘。 人生的路上,坎坷前行,只有保持积极向上的态度,才能把坎坷化为坦途。 走过一段路后,才发现,当内心强大、修养、爱…...

android 富文本编辑器有哪些

android 富文本编辑器有哪些 有许多优秀的开源富文本编辑器插件可用于Android平台,下面列举几个常用的: RichEditorView:这是一个基于Web技术的富文本编辑器插件,有多种编辑功能与选项。 Android Rich Text Editor:这…...

flex布局属性详解

Flex布局 flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content其他orderflexalign-self 含义:Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 flex-direction flex-direction属性决定主轴的方向&…...

上传了ipa但iTunes Connect没有构建版本问题

上传了ipa但iTunes Connect没有构建版本问题 转载:上传了ipa但iTunes Connect没有构建版本问题 AU上传ipa出现下图红框提示说明成功上传,如果App Store后台没有出现构建版本,请登录 apple账号对应的邮箱查看反馈,特别留意垃圾邮…...