spring boot用法,spring boot的使用
目录
1.统一用户登录权限验证1.1 自定义拦截器1.2 将自定义拦截器加入到系统配置1.3 运行结果1.4 总结2.统一异常处理2.1 代码实现2.2 运行结果3.统一数据返回格式3.1 代码实现3.2 运行结果
1. 统一用户登录权限验证
拦截器的实现分为两步:
创建自定义拦截器,实现拦截器接口并重写预处理方法
配置拦截器和拦截规则, (将自定义拦截器加入webmvc配置器的添加感受器方法中)
1.1 自定义拦截器
公共类登录接收器实现处理程序拦截器{ @ Override public boolean preHandle(http servlet请求请求,HttpServletResponse响应,对象处理程序)抛出异常{ http会话session=request。getsession(false);如果(会话!=空会话。获取属性( user )!=null) {返回true}响应。设置状态(401);返回false}}
1.2 将自定义拦截器加入到系统配置
@配置公共类应用配置实现WebMvcConfigurer { @ Override public void add interceptors(InterceptorRegistry注册表){注册表。添加拦截器(新的拦截器日志()).addpath模式(/* *)//拦截所有的接口excludePathPatterns(/* */登录。html’);//排除的接口}}addPathPatterns :表示要拦截的网址。
排除路径模式:表示需要排除的统一资源定位器
1.3 运行结果
1.4 总结
弹簧中的拦截器是通过动态代理和环绕通知的思想实现的。
2. 统一异常处理
统一异常处理使用的是@控制器建议@异常处理程序来实现的,
@ControllerAdvice表示控制器通知类@ExceptionHandler是异常处理器两个结合表示当出现异常的时候执行某个通知,也就是执行某个方法事件
2.1 代码实现
@控制器建议@响应Bodypublic类错误建议{ @异常处理程序(nullPointerException。类)公共对象nullPointerException(nullPointerException e){ HashMap字符串,对象映射=new HashMap();map.put(成功,200);map.put(status ,-1);map.put(message ,空指针异常!);返回地图;}}
2.2 运行结果
@ rest控制器@请求映射(/用户)公共类用户控制器{ @请求映射(/hi )公共字符串say(){ Object Object=null;int I=对象。hashcode();回你好;}}
3. 统一数据返回格式
统一的数据返回格式可以使用@控制器建议响应和建议的方式实现。
添加@ControllerAdvice实现回应和建议接口,并重写在正文写作之前方法
3.1 代码实现
@控制器建议公共类响应建议实现ResponseBodyAdvice { /** *内容是否重写,返回真实的表示重写*/@覆盖公共布尔支持(MethodParameter returnType,类转换器类型){ return true} @在主体写入之前覆盖公共对象(Object body,MethodParameter returnType,MediaType selectedContentType,Class selectedConverterType,ServerHttpRequest,ServerHttpResponse response) { //统一数据格式的封装HashMapString,Object result=new HashMap();result.put(success ,200);result.put(status ,1);result.put(data ,body);返回结果;}}
3.2 运行结果
@ rest控制器@请求映射(/用户)公共类用户控制器{ @请求映射(/index )公共对象index(){ User用户=新用户();用户。设置用户名( spring AOP );用户。设置密码( 123456 );返回用户;}}
到此这篇关于Spring Boot实现功能的统一详解的文章就介绍到这了,更多相关Spring Boot功能统一内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。