美文网首页
json-schema

json-schema

作者: 叫我王必过 | 来源:发表于2019-10-12 15:35 被阅读0次
一、需要注意的几点
  • properties :很多属性不需要约束,就没必要写在properties里
  • 尽量使代码可复用:
// 例如这段代码,很多的属性可能都是最小长度为1的字符串,我们可以把这段代码复用
{
    "type":"string",
    "minLength":1
}
// 例如这样
const stringTemplate  = {
    "type":"string",
    "minLength":1
}
export default {
    'type': 'object',
    'required': [
        'tableName',
        'desc',
    ],
    'properties': {
        'tableName': stringTemplate
        'desc': stringTemplate
    }
}
二、常用的Schema检验
  • 请输入邮箱前缀,多个接口人用英文;号隔开
'pre-emails': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^(([0-9a-zA-Z_-]+[;]?){1,9})(([0-9a-zA-Z_-]+){0,1})$',
}
  • 请输入邮箱前缀,多个接口人用英文,号隔开
'pre-emails': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^(([0-9a-zA-Z_-]+[,]?){1,9})(([0-9a-zA-Z_-]+){0,1})$',
}
  • 支持字母,数字、下划线的组合,不支持汉字和特殊字符
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^\w+$',
}
  • 只匹配英文字符,至少一个
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^[A-Za-z]+$',
}
  • 只匹配以英文小写开头,可包含数字字母下划线
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^[a-z]+\w?$',
}
  • 只匹配以英文小写开头,可包含数字字母下划线,长度在8-16位之间
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^[a-z]{1}\w{7,15}$',
}
  • 匹配路径,例如“/v/sd/mola”,“/v2/wsd/scx” (匹配以/开头的字符串)
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^[/]{1}.+$',
}
  • 仅匹配中文字符(1-16个字)
'regionChineseName': {
      'type': 'string',
      'pattern': '^[\u4e00-\u9fa5]+$',
      'minLength': 1,
      'maxLength': 16,
},
  • 匹配手机号
// 涵盖了以13、14、15、16、17、18、19开头的手机号校验(仅供参考,不对请指正)
"phone":{
        type:"number",
        pattern: "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$"
}
  • string中的format方法校验:
// 如何使用 == 简单粗暴效率高
"uri":{
      type:"string",
      format:"uri"
}
image.png

未完待续 ···

相关文章

  • yapi中使用json-schema mock数据

    1. 基本的json-schema mock 首先,我们建立一个简单的json-schema,如下图所示: 该sc...

  • json-schema-vue3

    src/components/json-schema/index.vue 使用 效果图

  • json-schema

    一、需要注意的几点 properties :很多属性不需要约束,就没必要写在properties里 尽量使代码可复...

  • GitChat 文章目录

    城下秋草 GitChat 测试文章链接: 自动化测试相关: 《接口校验利器:Json-Schema 详解》 《颜...

  • json-schema简介与应用

    Json? 了解json schema首先要知道什么是json?json 是 JavaScript Object ...

  • fastify 基于json-schema的框架数组问题

    在知乎上被大佬们夸的不要不要的nodejs 框架,号称宇宙最快,本菜鸟就是想实现一个数组列表的schema 没想到...

  • JSON-Schema在知识图谱中的作用

    作为一个全领域的知识图谱,首先,需要考虑每一个领域的实体属性都是有区别的,例如,人物类的实体有身高、体重这些属性,...

网友评论

      本文标题:json-schema

      本文链接:https://www.haomeiwen.com/subject/pspcuctx.html