项目第五天
1.服务端签名后直传:实现客户端上传图片存储到oss存储服务器,具体原理是:客户端提交图片时先向服务器发送一个policy请求,然后返回一个校验令牌(防伪签名),带着图片数据去访问oss云端服务器,通过令牌可以进入云服务器进行存储,这样避免了图片数据进入到服务器然后交给服务器去转发存储到云端带来的数据压力.
1)普通上传

2)阿里云对像存储-普通上传

3)阿里云对象存储-服务端签名后直传

2.进行表单数据校验
1)前端校验:ElementUI是 通过动态绑定rules方法,放入数组中编辑规则与提示信息。就直接通过添加表单rules属性,绑定方法,通过if(条件或正则表达式)进行表单数据校验。
还可以自定义校验。

firstLetter是自定义校验
 
2)后端数据校验(利用JSR303进行数据校验):在实体类的想要校验属性上加入需要的注解规则(@xxx)然后再Controller里面相应的方法参数处加入@Valid注解开启数据校验功能,同时引入相应的api(注意:需要同时引入两个依赖,不然校验不会起作用)
JSR-303
JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。)
1.实体类

具体注释:@Pattern是自定义的,需要传入一个正则表达式
的
2.Controller相应方法处

3.引入的l两个依赖

3.通过BindingResult捕获异常,为了方便给每个进行校验方法捕获异常,需要建一个类来专门捕获异常
1)单一方法捕获

2)集中到一个类进行捕获(重要的是添加注释@RestControllerAdvice,@ExceptionHandler)
@ControllerAdvice是在类上声明的注解,其用法主要有三点:
1.结合方法型注解@ExceptionHandler,用于捕获Controller中抛出的指定类型的异常,从而达到不同类型的异常区别处理的目的。
2.结合方法型注解@InitBinder,用于request中自定义参数解析方式进行注册,从而达到自定义指定格式参数的目的。
3.结合方法型注解@ModelAttribute,表示其注解的方法将会在目标Controller方法执行之前执行。
使用这个 Controller ,可以实现三个方面的功能:
- 全局异常处理
 - 全局数据绑定
 - 全局数据预处理
 

                    
                
                
            
        
浙公网安备 33010602011771号