当前位置: 首页 > news >正文

大气自适应网站源码句容网站制作公司

大气自适应网站源码,句容网站制作公司,乡村文化建设网站栏目设置,成都网站建设单位统⼀功能处理 1. 拦截器2. 统⼀异常处理3. 统⼀数据返回格式 1. 拦截器 Spring 中提供了具体的实现拦截器#xff1a;HandlerInterceptor#xff0c;拦截器的实现分为以下两个步骤#xff1a; 创建⾃定义拦截器#xff0c;实现 HandlerInterceptor 接⼝的 preHandle… 统⼀功能处理 1. 拦截器2. 统⼀异常处理3. 统⼀数据返回格式 1. 拦截器 Spring 中提供了具体的实现拦截器HandlerInterceptor拦截器的实现分为以下两个步骤 创建⾃定义拦截器实现 HandlerInterceptor 接⼝的 preHandle执⾏具体⽅法之前的预处理⽅法.将⾃定义拦截器加⼊ WebMvcConfigurer 的 addInterceptors ⽅法中. 接下来使⽤代码来实现⼀个⽤户登录的权限效验⾃定义拦截器是⼀个普通类分为两步: 实现 HandlerInterceptor 接口重写 preHandle 方法 public class LoginInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {HttpSession session request.getSession(false);if (session ! null session.getAttribute(userinfo) ! null) {return true; // 返回为真就通过, 反之就拦截}response.sendRedirect(/login.html);return false;} }然后就是将自定义的拦截器配置到系统当中: 总共分为三步: 添加 Configuration 注解实现 WebMvcConfigurer 接口重写 addInterceptors 方法 Configuration public class AppConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns(/**)// 拦截所有请求.excludePathPatterns(/**/*.html)// 放开不需要拦截的部分.excludePathPatterns(/user/login).excludePathPatterns(/user/reg);} } 统⼀访问前缀添加 所有请求地址添加 api 前缀, 有两种方式 通过方法添加 Configuration public class AppConfig implements WebMvcConfigurer {// 所有的接⼝添加 api 前缀Overridepublic void configurePathMatch(PathMatchConfigurer configurer) {configurer.addPathPrefix(/api, c - true);} }通过配置文件添加 server.servlet.context-path/api2. 统⼀异常处理 统⼀异常处理使⽤的是 ControllerAdvice ExceptionHandler 来实现的ControllerAdvice 表示控制器通知类ExceptionHandler 是异常处理器两个结合表示当出现异常的时候执⾏某个通知也就是执⾏某个⽅法事件具体实现代码如下 ControllerAdvice ResponseBody public class ErrorAdive {ExceptionHandler(Exception.class)public Object error(Exception e) {MapString, Object map new HashMap();map.put(code, -1);map.put(data, null);map.put(msg, e.getMessage());return map;}}以上⽅法表示如果出现了异常就返回给前端⼀个 HashMap 的对象其中包含的字段如代码中定义的那样. 我们可以针对不同的异常返回不同的结果, 例如: ExceptionHandler(NullPointerException.class)public Object nullPointerexceptionAdvice(NullPointerException e) {HashMapString, Object result new HashMap();result.put(success, -1);result.put(message, 空指针异常 e.getMessage());result.put(data, null);return result;}当有多个异常通知时匹配顺序为当前类及其⼦类向上依次匹配 3. 统⼀数据返回格式 统⼀数据返回格式的优点有很多⽐如以下⼏个 ⽅便前端程序员更好的接收和解析后端数据接⼝返回的数据.降低前端程序员和后端程序员的沟通成本按照某个格式实现就⾏了因为所有接⼝都是这样返回的.有利于项⽬统⼀数据的维护和修改.有利于后端技术部⻔的统⼀规范的标准制定不会出现稀奇古怪的返回内容. 统⼀的数据返回格式可以使⽤ ControllerAdvice 实现 ResponseBodyAdvice 的⽅式实现具体实现代码如下: ControllerAdvice public class ResponseAdvice implements ResponseBodyAdvice {/*** 内容是否需要重写通过此⽅法可以选择性部分控制器和⽅法进⾏重写)* 返回 true 表示重写* param returnType* param converterType* return*/Overridepublic boolean supports(MethodParameter returnType, Class converterType) {return true;}Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {ObjectMapper objectMapper new ObjectMapper();HashMapString, Object result new HashMap();result.put(success, -1);result.put(message, );result.put(data, body);// 当 body 值是 String 类型的值时直接返回会报错if (body instanceof String) {try {return objectMapper.writeValueAsString(result);} catch (JsonProcessingException e) {e.printStackTrace();}}return result;} }
http://www.hkea.cn/news/14391537/

相关文章:

  • 手机网站变灰西安网站推广公司
  • 做搜狗pc网站排名网站公告栏怎么做
  • 内蒙古网站建设价格医院网站后台管理系统登录
  • 不用cms怎么做网站工程与建设期刊
  • 展示型装饰网站模板下载响应式网站开发源码
  • 网站空间是不是服务器深圳网络营销招聘
  • 佛山网站建设开发团队搜了网
  • 织梦电影网站源码门户网站改版建议
  • 宠物网站怎么做seo引擎优化专员
  • 网站怎么做落款深圳网站建设 设计卓越迈
  • 中学网站建设 课设定制高端网站建设
  • 资深网站购物网站开发报告
  • 吴桥网站做网站收益
  • 网站设计风格介绍网站制作多少钱啊
  • 外国人讲汉语做网站的视频免费个人网站申请
  • 苏州建网站制作费用多少钱wordpress 左边导航菜单
  • 做课件可赚钱的网站关键词查询工具哪个好
  • 爱站网是怎么回事购物网站需要哪些模块
  • 河南省漯河建设局网站小制作大全简单又漂亮
  • 咨询类网站建设深圳12个区地图
  • 大足专业建站公司一个ip地址上可以做几个网站
  • 洛阳市新区建设投资有限公司网站小企业网站建设在哪里
  • 电子商务网站建设与管理期末考试试卷a百度竞价 百度流量 网站权重
  • 网站建设佰首选金手指十六电脑网站建设在哪里
  • 有关做生态环境的官方网站工商注册营业执照网址
  • 海南省建设与执业资格注册中心网站siteservercms做的网站在后台进行修改教程
  • 英语网站大全免费网站vip功能怎么实现
  • dw做的网站不显示营销网站如何实现差异化
  • 淘宝客建网站怎么做网站首页的动态效果图怎么做
  • 怎么选择宜昌网站建设安徽品质网站建设创新