首页 > 其他分享 >springboot异常处理的通用方式2

springboot异常处理的通用方式2

时间:2023-05-04 13:03:59浏览次数:64  
标签:通用 springboot UNAUTHORIZED HttpStatus private header security 异常 empty


2、定义一个异常的枚举数组

• ServerErrCodeDefine类
//```java
 @AllArgsConstructor
 @Getter
 public enum ServerErrCodeDefine {
private int errCode;
private String code;
private HttpStatus httpStatus;
private String messageSourceKey;


/*********************************************
 * 启动错误 从5000开始
 *********************************************/
SystemLoginEncryptNotEmpty(5000, "EncryptNotEmpty", HttpStatus.INTERNAL_SERVER_ERROR, "system.login.encrypt.empty"), fmuSystemLoginTokenNotEmpty(5001, "TokenNotEmpty", HttpStatus.INTERNAL_SERVER_ERROR, "system.login.token.empty"),

/*********************************************
 * 认证操作异常码 从6000开始
 *********************************************/
SecurityHeaderAuthorNotEmpty(6000, "AuthorNotEmpty", HttpStatus.UNAUTHORIZED, "security.header.author.empty"), fmuSecurityHeaderDateNotEmpty(6001, "DateNotEmpty", HttpStatus.BAD_REQUEST, "security.header.date.empty"), fmuSecurityInvalidHeaderValue(6002, "InvalidHeaderField", HttpStatus.UNAUTHORIZED, "security.header.value.invalid"), fmuSecurityInvalidAlgorithm(6003, "InvalidAlgorithmType", HttpStatus.BAD_REQUEST, "security.header.algorithm.invalid"), fmuSecurityInvalidUser(6004, "InvalidAccessKey", HttpStatus.FORBIDDEN, "security.header.user.invalid"), fmuSecurityTimeTooSkewed(6005, "TimeTooSkewed", HttpStatus.REQUEST_TIMEOUT, "security.request.timetooskewed"), fmuSecurityUnsupportedEncoding(6006, "UnsupportedEncoding", HttpStatus.UNAUTHORIZED, "security.unsupported.encoding"), fmuSecurityUnsupportedAlgorithm(6007, "UnsupportedAlgorithm", HttpStatus.UNAUTHORIZED, "security.unsupported.algorithm"), fmuSecurityUnauthorized(6008, "Unauthorized", HttpStatus.UNAUTHORIZED, "security.unauthorized"), fmuSecurityContentTypeNotEmpty(6009, "ContentTypeNotEmpty", HttpStatus.UNAUTHORIZED, "security.header.contenttype.empty"), fmuSystemNoVisitPriviledge(6010, "NoVisitPriviledge", HttpStatus.NOT_ACCEPTABLE, "system.no.visit.priviledge"), fmuSystemSubscribeCostomSendFailed(6011, "VslServerFailed", HttpStatus.SERVICE_UNAVAILABLE, "request.to.vsl.server.failed"), fmuSystemVslReturnDataErr(6012, "VslReturnDataErr", HttpStatus.SERVICE_UNAVAILABLE, "system.vsl.return.data.error"),
}


标签:通用,springboot,UNAUTHORIZED,HttpStatus,private,header,security,异常,empty
From: https://blog.51cto.com/u_16096603/6242632

相关文章

  • SpringBoot 集成 Shiro 简单教程
    1.前言 ApacheShiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理。Shiro有三大核心组件:Subject: 即当前用户,在权限管理的应用程序里往往需要知道谁能够操作什么,谁拥有操作该程序的权利,shiro中则需要通过Subject来提供基础的当前用户信息,Sub......
  • SpringBoot项目部署在外置Tomcat正常启动,但项目没有被加载的问题
    最近打算部署个SpringBoot项目到外置Tomcat运行,但是发现tomcat启动成功,访问却一直404,刚开始以为是Tomcat的问题,就一直在改Tomcat配置。最后发现tomcat启动时根本就没加载到项目,因为控制台没有打印"SpringBoot"的项目标志经过一番百度查找,最后发现是因为项目启动类没有继承Spring......
  • linux 安装神州通用数据库 V7
    @目录操作系统、数据库1、官方下载链接2、windows客户端下载链接3、官方安装手册4、安装前准备3.1、创建安装用户3.2、以root用户修改神通数据库安装包的所有者为shentong用户3.3、以root用户创建神通数据库主目录并修改所有者为shentong用户3.4、以root用户临时修改init.d......
  • 【HarmonyOS】自定义组件之ArkUI实现通用标题栏组件
     【关键字】标题栏、常用内置组件整合、ArkUI、自定义组件 1、写在前面在上一篇文章中我们通过Java语言实现了一个通用的标题栏组件,有需要的可以看下,文章地址:https://developer.huawei.com/consumer/cn/forum/topic/0202117373459738584?fid=0101587866109860105现在很多......
  • 记录一件很神奇的类型转换问题(springboot项目+echarts)
    今天博主在应付学校的实验,想要使用echarts绘制一张很简单的条形图(博主是初学者),如下(时间还未作排序) 对于横轴,我封装了一个dateList,这个datelist是用java,将数据库中date类型的数据,提取其年月拼装而成的,代码如下:Stringdate=String.valueOf(art.getArticleCreateTime().getYea......
  • java基于springboot+vue非前后端分离的网上商城购物系统、在线商城管理系统,附源码+数
    1、项目介绍java基于springboot+vue非前后端分离的网上商城购物系统、在线商城管理系统,实现管理员:首页、个人中心、用户管理、商品分类管理、商品信息管理、订单评价管理、系统管理、订单管理,用户;首页、个人中心、订单评价管理、我的收藏管理、订单管理,前台首页;首页、商品信息、......
  • SpringBoot定义优雅全局统一Restful API 响应框架二
    这里解决之前留下来的问题,当程序没有正常返回时候就是程序由于运行时异常导致的结果,有些异常我们可,能无法提前预知,不能正常走到我们return的R对象返回。这个时候该如何处理在SpringBoot中,可以使用@ControllerAdvice注解来启用全局异常处理。通过使用@ControllerAdvice注解,可以捕......
  • 【SpringBoot系列】八、SpringBoot 中的事务处理
        前两章节主要讲解了在SpringBoot中关于对数据的操作,本章节将介绍如何进行事务处理。所有的数据访问技术都离不开事务处理,否则将会造成数据不一致。事务是一系列的动作,一旦其中有一个动作出现错误,必须全部回滚,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务......
  • 【SpringBoot系列】七、SpringBoot 中使用Redis缓存
        在项目中对数据的访问往往都是直接访问数据库的方式,但如果对数据的访问量很大或者访问很频繁的话,将会对数据库来很大的压力,甚至造成数据库崩溃。为了解决这类问题redis数据库脱颖而出,redis数据库出现时是以非关系数据库的光环展示在广大程序猿的面前的,后来redis的迭代版......
  • 【SpringBoot系列】四、SpringBoot特性_外部化配置(properties文件配置)
            SpringBoot允许将配置进行外部化(externalize),这样你就能够在不同的环境下使用相同的代码。你可以使用properties文件,yaml文件,环境变量和命令行参数来外部化配置。使用@Value注解,可以直接将属性值注入到beans中,然后通过Spring的Environment抽象或通过@ConfigurationP......