专栏名称: ImportNew
伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等。
目录
相关文章推荐
芋道源码  ·  谈一谈 分库分表 vs NewSQL数据库 ·  10 小时前  
芋道源码  ·  如何加快 SQL 查询速度的同时保持 ... ·  10 小时前  
芋道源码  ·  SQL性能优化神器! ·  昨天  
芋道源码  ·  【图文并茂】大白话快速讲懂 Redis 分布式锁 ·  2 天前  
51好读  ›  专栏  ›  ImportNew

一个后端 API 权限验证 MVP

ImportNew  · 公众号  · Java  · 2024-01-28 11:30

正文

请到「今天看啥」查看全文



2) 统一状态码封装


public enum ResultCode {

SUCCESS(true, 10000, "操作成功!"), //---系统错误返回码----- FAIL(false, 10001, "操作失败"), UNAUTHENTICATED(false, 10002, "您还未登录"), TOKEN_LOSE_EFFICACY(false, 10003, "登录凭证已失效!"), UNAUTHORISE(false, 10004, "权限不足"),
/** * 登录失败异常 */ USERNAME_PASSWORD_ERROR(false, 20001, "用户名或者密码错误"),
REQUEST_PARARMETER_MISS(false, 30000, "请求参数缺失"), /** * 请求类型不支持 */ REQUEST_METHOD_NOT_SUPPORT(false, 40000, "不支持的请求类型"), SERVER_ERROR(false, 99999, "抱歉,系统繁忙,请稍后重试!"); //---其他操作返回码----

//操作是否成功 boolean success; //操作代码 int code; //提示信息 String message;
ResultCode(boolean success, int code, String message) { this.success = success; this.code = code; this.message = message; }
public boolean success() { return success; }
public int code() { return code; }
public String message() { return message; }}


3) 自定义异常



4) 异常统一处理


/** * @author: Zero * @time: 2022/12/28 * @description: 统一异常处理 */@RestControllerAdvicepublic class BaseExceptionHandler {
/** * 通用自定义异常捕获(登录状态/权限验证) * * @return */ @ExceptionHandler(value = CommonException.class) public Result commonException(CommonException exception) { if (exception.getMessage() != null && exception.getMessage().equals(ResultCode.REQUEST_PARARMETER_MISS.message())) { // 请求参数缺失 return new Result(ResultCode.REQUEST_PARARMETER_MISS); } if (exception.getMessage() != null && exception.getMessage().equals(ResultCode.UNAUTHENTICATED.message())) { // 未登录/token非法 return new Result(ResultCode.UNAUTHENTICATED); } if (exception.getMessage() != null && exception.getMessage().equals(ResultCode.TOKEN_LOSE_EFFICACY.message())) { // 登录凭证token已经失效 return new Result(ResultCode.TOKEN_LOSE_EFFICACY); } if (exception.getMessage() != null && exception.getMessage().equals(ResultCode.UNAUTHORISE.message())) { // 访问权限不足 return new Result(ResultCode.UNAUTHORISE); } if (exception.getMessage() != null && exception.getMessage().equals(ResultCode.REQUEST_METHOD_NOT_SUPPORT.message())) { // 不支持的请求方法类型 return new Result(ResultCode.REQUEST_METHOD_NOT_SUPPORT); } if (exception.getMessage() != null) { // 给定异常信息 return new Result(10001, exception.getMessage(), false); } // 请求失败 return new Result(ResultCode.FAIL); }

/** * 服务器异常统一返回 * * @return */ @ExceptionHandler(value = Exception






请到「今天看啥」查看全文