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

Spring Boot统一功能处理

目录

一、统一用户登录权限验证

1.1 自定义拦截器

1.2 将自定义拦截器加入到系统配置

1.3 统一访问前缀

二、统一异常处理

三、统一数据格式返回


一、统一用户登录权限验证

1.1 自定义拦截器

拦截器是一个普通的类,需要实现HandlerInterceptor接口并重写preHandle()方法: 

1.2 将自定义拦截器加入到系统配置

addInterceptor():用来将刚才自定义的拦截器加入到系统配置中;

addPathPatterns():表示要拦截什么样的请求

excludePathPatterns():表示哪些请求可以被排除,可以不用被拦截。

1.3 统一访问前缀

同一个服务器上可能会部署多个项目,如果多个项目的url地址相同就会出问题,比如每个项目都有一个user/login接口,所以需要对一个项目的所有请求地址添加前缀来区分不同项目。

在上述AppConfig类中重写configurePathMatch()方法:

第一个参数表示要添加的前缀,第二个参数是lambda表达式,为true表示启动前缀。

二、统一异常处理

@ControllerAdvice 表示控制器通知类,@ExceptionHandler 表示异常处理器,二者同时使用表示当出现异常的时候执⾏对应异常处理的方法。

三、统一数据格式返回

统一数据格式返回需要实现ResponseBodyAdvice接口,并重写supports()方法和beforeBodyWrite()方法:

返回统一数据格式的好处:

(1) 方便前端程序猿更好的接收和解析后端返回的数据;

(2) 降低前、后端程序猿的沟通成本,按照某个格式返回即可;

(3) 有利于项目统一数据维护和修改;

(4) 有利于后端技术部门的统一规范的标准指定。

http://www.lryc.cn/news/35709.html

相关文章:

  • ETCD多次出现CONTEXT DEADLINE EXCEEDED
  • git 提交 多人开发避免冲突
  • 求职复盘:干了四年外包出来,面试5次全挂
  • AXI总线核心解读---基于官方文档
  • 【Linux修炼】15.进程间通信
  • 每天一道大厂SQL题【Day15】微众银行真题实战(五)
  • 如何优化查询大数据量的表
  • 卷麻了,00后Jmeter用的比我还熟练,简直没脸见人......
  • 力扣-树节点
  • MySQL8启动错误“Neither found #innodb_redo subdirectory, nor ib_logfile* files”
  • JVM系列——详细说明Volatile,原子性/可见性,先行发生原则
  • ArcGIS:栅格计算器的运算符和函数详解
  • spring的beanfactory与applicationContext的区别以及继承关系
  • 分享一个 hive on spark 模式下使用 HikariCP 数据库连接池造成的资源泄露问题
  • MySQL 行锁
  • 成为AI架构师的三大能力
  • 博客系统 实现 (前端 + 后端 )代码
  • C语言:如何在cmd命令窗口上玩贪吃蛇游戏
  • Flutter-自定义图标
  • 教学场景应用视频试看预览功能
  • 关于进程与进程调度
  • Redis常用命令及数据类型参数
  • (七十四)大白话深入探索多表关联的SQL语句到底是如何执行的?(2)
  • 销售使用CRM系统集成Excel的五个技巧
  • 过来人告诉你:Java学到什么程度可以找工作?
  • 【Linux】目录结构
  • 37.Java进阶之实现动态编译
  • 【Python百日进阶-Web开发-Vue3】Day549 - Vue3 商城后台 09:Veux4-01基本概念
  • GitLab 解析:为什么市场正在转向一体化 DevSecOps 平台?(附Forrester完整报告下载)
  • ThreadLocal的内部结构和源码探究