标签:bsp 接口 数据清理 cloud 封装 处理 batch 删掉 ali

校验:非空、唯一性等校验
密码的加密:密码加密来存储。
如何做https的访问
一个层面是接口层面,另外一个层面是数据库层面。
Springboot给我们提供了简单的封装

校验的包里面还有其他的注解。

然后在参数之前加上注解。@Validated 表示传进来的这个UserInfo需要去做校验

运行程序查看效果


详细的错误信息

用户名和密码都去掉

返回的errors就是一个数组

数据库的实体类也要加上非空的注解。

因为传进来的数据 经过Service层的业务逻辑,可以能会做一些修改后再保存到数据库内,所以数据库也要做校验。
例如下面 接收的参数属性拷贝到user对象后, 如果又设置了userName为null,那么保存插入的数据就会有问题。


再次测试,用户名和密码都填好后。

返回的500,。是服务器内部处理的错误


用户名不能重复的问题、@Column注解里面。unique注解

数据库内把表的username删除掉。

JPA会自动同步你的对象和数据库的表,但是他会去做判断,如果你的数据库内已经有了一个同名的字段username,他就不会再去改变数据库已有的字段。我们把username删掉了 他会重新去创建这个字段,并按照实体类的规则去创建。

启动服务。日志内去创建了username这个字段。

保证用户名的唯一性。

把数据库库内的数据清理一下 ,剩下一条用户数据

把设置为空的这行代码删掉,。



这个就是数据库的常见的校验
@NotBlank和nullable设置为true这两个的区别。
@NotBlank这是应用级,框架层面的校验,不管你数据库底层数据库字段是空的还是非空的,在应用层面他都回去做校验。sql执行之前去做校验。
@Column的nullable是在建数据库的时候,把这列设置为非空了。就是数据库内这个字段不能为空

如果去掉了nullable那么数据库内是可为空的。只不过NotBlank会在框架层面去校验非空

Spring cloud微服务安全实战-3-6API安全机制之数据校验_batch
标签:bsp 接口 数据清理 cloud 封装 处理 batch 删掉 ali
原文地址:https://www.cnblogs.com/wangjunwei/p/11904309.html