首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Active Record 迁移

: create_join_table :products, :categories, table_name: :categorization 这个方法也接受块作为参数,用于添加索引附加字段。...除此之外,还有 change_column_null 和 change_column_default 方法,分别用于设置字段是否可为空、修改字段的默认值。...: false 作用是将products数据表的 :name 字段设置为 NOT_NULL,把 :approved 字段的默认值由 true 改为 false 。...字段修饰符 字段修饰符可以在创建修改字段时使用,有 limit precision scale polymorphic null default index comment 外键 使用外键约束可以保证引用的完整性...可以指定目标版本进行迁移 rails db:migrate VERSION=20080906120000 版本号时间戳,这是向上迁移,但包括指定的版本。

1.6K20

api接口文档html模板,开发接口文档-api文档模板

2、,id:7,name:XX,totals:02 文件上传2.1 文件上传(ajax)请求地址:/session/file/upload请求参数参数名必填字段类型描述fileFormDataFormData.../fieldType/update请求参数参数名必填字段类型描述idLong所属类型idnameString所属类型名称响应code10000成功,-1系统错误,10001必填参数为空messag。.../fieldType/getById请求参数参数名必填字段类型描述idLong所属类型id响应code10000成功,-1系统错误,10001必填参数为空message响应描述result如响应例子请求例子...,page:0,pageSize:0,returnObject:null,returnValue:id:1,name:123,id:6,name:145555,totals:23.5 删除所属类型(批量...)请求地址:/session/fieldType/deleteByIds请求参数参数名必填字段类型描述idsList所属类型id集合响应code10000成功,-1系统错误,10001必填参数为空message

18K20
您找到你想要的搜索结果了吗?
是的
没有找到

SpringBoot 如何进行参数校验?老鸟们都是这么玩的!

Validator框架就是为了解决开发人员在开发的时候少写代码,提升开发效率;Validator专门用来进行接口参数校验,例如常见的必填校验,email格式校验,用户名必须位于6到12之间 等等......= "appId长度必须位于6到12之间") private String appId; @NotBlank(message = "名字为必填项") private String...不能为null,集合、数组、map等size()不能为0;字符串trim()后可以等于“” @Range 值必须在指定范围内 @URL 必须一个URL 注:此表格只是简单的对注解功能的说明,并没有对每一个注解的属性进行说明...; 不是一个合法的电子邮件地址; appId长度必须位于6到12之间", "data": null, "timestamp": 1628435116680 } 是不是感觉清爽多了?...", "data": null, "timestamp": 1628435243723 } 分组校验 一个VO对象在新增的时候某些字段必填,在更新的时候又非必填

1.3K20

【译】如何在 Spring 中将 @RequestParam 绑定到对象

例如,搜索通常包括排序一些额外的过滤器。在这种情况下,它们都被传递到数据访问层,所以它们似乎 参数对象[4] 提取的完美候选者。...该注解的另一个有用特性可以将给定参数标记为必填项。如果请求中缺少必填参数,我们的端点可以拒绝它。 要在使用 POJO 时达到相同的效果(甚至更多!)我们可以 使用 bean 验证。...要校验所有嵌套属性,你应该在嵌套对象字段上添加 @Valid 注解。请注意,当嵌套对象字段null 时,Spring 不会验证其属性。如果所有嵌套属性都是可选的,那么这可能预期的解决方案。...在我看来,最大的好处 更易于维护。 你是否曾经跟踪你的应用程序穿过几十层,以理解什么条件导致了对象的特定状态?在哪个地方这个那个字段发生了变化?为什么它被更新?...你可以 在 GitHub 仓库中找到本文中描述的完整代码[6]。我希望呈现的案例自解释的,但如果有任何疑问,或者你想发表你的看法,我强烈建议你在文章下方留下你的评论。

10110

强大的序列化工具:Protocol Buffers

:数组,顺序会保留,proto3默认压缩 singular required(不建议使用) 如果必填字段更改为非必填了,但某个项目的code没有及时更新,这时如果不传递该字段就会出现异常。...字段的读写方法 序列化、反序列化方法 .pb.go文件 默认值 枚举的默认值第一个定义的枚举值,并且必须值为0 repeated字段的默认值为空的list 实际使用时需注意区分默认值和主动设置的值...例如string的code读取bytes时,只要bytesutf8编码的,就可以读取为string。int32读取int64的数据,会自动截取32位。 这里主要是体现兼容性,但不建议故意为之。...Duration string "1.000340012s", "1s" Generated output always contains 0, 3, 6, or 9 fractional digits...NullValue null JSON null Empty object {} An empty JSON object json options 输出默认值的字段 忽略unknown fields

1.8K20

API接口测试规范总结

参数校验 2、返回值校验 3、命名规范 4、业务判断 5、安全校验 1、参数校验 1、正常场景 (1)功能按照接口规范要求实现 (2)返回状态码200 2、异常场景 (1)参数为空 直接为空 null...[] {} (2)参数错误 (3)无操作权限 (4)特定的业务逻辑报错,涉及敏感的报错不应该有明确的原因,例如登录失败就不能报成密码错误手机号码错误 (5)单位标准,时间,服务端使用时间戳还是直接日期类型...,在接口定义里前后端要一致 (6)重复传参,字段唯一性校验,发送两次请求,接口需要做重复判断处理 3、必填参数 (1)接口文档要求必填字段 (2)必填参数传参 传参类型和内容都正确 传参类型错误,参数类型非法...客户端不支持的接口 业务上有较大变更,和老业务有冲突 (2)升级接口影响 对新版本APP有影响,老版本没有影响 新接口和老接口调用同一个底层,底层有修改,老版本正常回归 6、更新接口字段 (1)新版本和老版本可以共用一个接口...,只需要新增字段 (2)更新字段影响 新增字段需要对老版本做兼容处理 新增字段必填,需要做版本控制 新增字段必填,老版本要兼容 2、返回值校验 1、返回数据是否必要 2、返回数据数量需要限制 案例:

72710

spring的 @Scheduled的cron表达式

网上太多说的多,但却没什么用的文章了 序号 说明 是否必填 允许填写的值         允许的通配符 1       秒                    0-59 ,                          .../ L W 5       月                    1-12 or JAN-DEC     , - * / 6       周                   1-7 or...例如:要在每月的10号触发一个操作,但不关心周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ? - 表示区间。...在日字段设置上,表示当月的最后一天(依据当前月份,如果二月还会依据是否润年[leap]), 在周字段上表示星期六,相当于"7""SAT"。如果在"L"前加上数字,则表示该数据的最后一个。...例如在周字段上设置"6L"这样的格式,则表示“本 月最后一个星期五" W 表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。

84120

MLVBLiveRoom 方案 - 管理后台RoomService接口文档

txSecret=40272756aadc118f00b7e571eac89527&txTime=5D5F6C4C" } 字段 类型 选项 说明 pushURL String 必填 包含userID信息的推流地址...0, "message": "请求成功" } 错误码 errorCode errorMsg 200100 请求包错误,http方法错误参数错误 200101 json请求体无法解析 201001...参数 201005 获取room列表中,count参数未设置设置为0 201006 云端混流参数缺少interface等必要参数 201008 不支持的操作 201009 set操作,但是value...通常出现心跳超时,代表终端出现了异常,roomService会去检测音视频流,如果音视频流的上行数据也是0,会把roomid销毁。默认心跳保护时长30S。...或者使用开发工具发起post请求 5、登录后返回的token,有效期多久 7天 6、登录时报错:login info is not complete201001],检查sdkappid、userid、

21.1K2011

Quartz.NET 配置文件详解

6. cron-expression(必填)cron 表达式,例如:0 0/1 * * * ?,表示间隔1分钟触发一次。...一个cron表达式有至少6个(7个)由空格分隔的时间元素,按顺序依次为:[秒] [分] [小时] [日] [月] [周] [年] 元素    必填        取值范围                ...例如:要在每月的10号触发一个操作,但不关心周几,所以周设置为"?",具体设置为 0 0 0 10 * ?。 3) - 表示区间,例如:在小时上设置"10-12",表示10,11,12点都会触发。...6) L 表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果二月还会依据是否润年[leap]);在周字段上表示星期六,相当于"7""SAT"。...如果在日字段上设置"LW",则表示在本月的最后一个工作日触发;周字段的设置,若使用英文字母不区分大小写的,即MON与mon相同。 3. 常用示例: 0 0 12 * * ?

1.9K20

mysql多字段主键_sql改变列数据类型

key 3、唯一键:unique key 4、自增长:auto_increment 5、默认值:default 6字段描述:comment 数值类型 整数类型:tinyint、smallint、mediumint...空\不为空值:NULL、NOT NULL 字段的数据默认情况下允许为空的,比如说一条人的信息记录中可以没有邮箱(或许有些人考虑用“空字符串”来代表),我们允许可以不填入数据的字段可以设置为null;但比如说某些必填数据...唯一键:unique key 唯一键的功能与主键有点类型,但不同的主键只能有一个,唯一键可以有多个,而且唯一键的字段的数据允许为空。...(不给这个字段插入数据的情况下) 自增长的前提这个字段必须一个“索引”,比如主键、唯一键 自增长的前提这个字段的数据类型一个数值型的,(如果给了float,也不会增长成小数,而仅仅是整数) 一个表只能有一个自增长...: 默认值:default 默认值的功能当我们不给一个字段赋值的时候,使用默认值作为数据,比如不选择性别的时候,默认使用“保密”; 字段描述:comment 字段描述用来描述字段的,能在查看数据表创建语句的时候显示出来

2.5K20

JeecgBoot低代码平台—默认模糊查询以及高级查询规则

2、查询规则 说明:页面查询字段,需跟后台Controller中Page的字段对应一致,后台不需写代码自动生成查询条件SQL; 默认查询条件全匹配,想实现模糊查询需求在查询值的前后加: \*...张三 (含义:不等于'张三') 特殊说明:查询不为Null的语法:!null(大小写没关系); 查询不为空字符串的方法:!...如果单一匹配方式,则页面查询控件的name, 跟实体字段命名一样 2....如果范围匹配方式,则页面查询控件需要变成两个分别名 {*}_begin,{*}_end {*}_begin: 表示查询范围开始值 {*}_end: 表示查询范围结束值 举例: 字段名称 orderDate...数字类型字段多值查询,需要将字段加上后缀“_MultiString”,其他规则同上 例如实体字段:tableType,页面接受参数字段 tableType_MultiString 多选字段模糊查询

1.3K40

MyBatis查询数据库(4)

可以参考官方文档:mybatis – MyBatis 3 | 动态 SQL 一、标签 在注册用户的时候,可能会有这样⼀个问题,有的信息必填,有的选填,那如果在添加⽤户的时候有不确定的字段传入...这个时候就需要使用动态标签 来判断了,比如添加的时候性别 sex 为非必填字段,具体实现如下: insert into user(...> 需要注意 test 中的 sex,传入对象中的属性,不是数据库字段。...而且if标签都是成对出现的 二、标签 之前的插入用户功能,只是有⼀个 sex 字段可能选填项,如果所有字段都是非必填项,就考虑使用标签结合标签,对多个字段都采取动态生成的方式...= null”> 中的 createTime 传入对象的属性,不是数据库字段 三、标签 传入的用户对象,根据属性做 where 条件查询,用户对象中属性不为 null 的,都为查询条件。

13520

Django小技巧08: Blank or Null

看起来两者都做了几乎相同的事情, 但是这两者还是有区别的: null: 数据库相关; 定义数据库字段的值是否接受空值。...虽然两者的有区别的, 但一个拥有null=True和blank=False的字段完全没有问题的。...在数据库级别上, 该字段可以为 NULL, 但在应用程序级别上, 它是必填字段(前提你通过 Django 标准的 Form 进行判断)。...大多数开发人员都对基于字符串的字段(CharField和TextField)定义null=True, 这其实是没有必要的, 应该避免这样做,因为 Django约定使用空字符串设置空值, 而非Null....= models.DateField(null=True, blank=True) # 可选填写 (这里你应该设置null=True) 默认值 null: False blank: False NullBooleanField

1.1K30

Ubuntu16.04搭建GitLab服务器教程

但按照官方教程安装会非常慢, 推荐使用下列方式, 利用清华源安装. 2.2清华源 首先信任GitLab的GPG公钥 curl https://packages.gitlab.com/gpg.key 2> /dev/null...| sudo apt-key add - &>/dev/null 接下来打开 gitlab-ce.list文本 sudo vim /etc/apt/sources.list.d/gitlab-ce.list...其中开头部分创建的日期. 5.2修改备份目录 首先打开gitlab.rb文件 cd /etc/gitlab vim gitlab.rb 找到下列命令 gitlab_rails['backup_path.... crontab共6字段, 其中前5个字段设置执行的时间段, 第6字段设置命令. m h dom mon dow user user command 其中 m: 表示分钟,可以是从0到59之间的任何整数...dow:表示星期几,可以是从0到7之间的任何整数,这里的07代表星期日。 user : 表示执行的用户。

2.2K21

想要接口做的好、入参校验少不了!

前言 两年前我刚步入社会接受毒打时,对整个开发流程还没什么概念,当时我以为的开发工作=“CRUD+接口对接”,所以代码写的那叫一个为所欲为(Map传参、不加注释、不打日志等等等等)。...如果@NotNull修饰的字段null值,那么后端服务器将会抛出BindException参数绑定异常,json类型入参则抛出MethodArgumentNotValidException异常,两种异常内部都包含着所有不符合规则的字段提示信息...image.png Validation常见的校验注解 @NotNull :该字段不允许为null值 @NotEmpty:该字段不允许为null空值,此注解同样适用于校验集合不允许为空 @Null...:该注解与@NotNull正好相反,标识该字段必须为Null @Pattern:通过正则表达式进行匹配,若该值无法匹配成功则抛出异常 @Max:通常使用在数字类型字段,标识该字段最大取值 @Min:通常使用在数字类型字段...:多选一必填(Or)、只允许某些值中的一个(In)、多个字段不能同时上送(Mutex)等,这个时候我们可以通过自定义注解来完成相关参数的校验。

1.4K30
领券