码迷,mamicode.com
首页 > 编程语言 > 详细

Spring cloud微服务安全实战-3-6API安全机制之数据校验_batch

时间:2019-11-21 12:03:01      阅读:83      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!