美文网首页
ssm框架进阶-----统一错误返回处理

ssm框架进阶-----统一错误返回处理

作者: chen_k | 来源:发表于2019-07-22 11:01 被阅读0次

文章链接

  1. ssm入门
  2. ssm框架进阶-----数据库增删改查
    3.ssm框架进阶-----数据库多表查询

正文

1.在model中创建ResponseCode

/**
 * 定义响应的状态码
 */
public enum ResponseCode {
    SUCCESS(100, "SUCCESS"),
    ERROR(101, "ERROR"),
    NEED_LOG(1, "NEED_LOG");
    private int code;
    private String desc;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    ResponseCode(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }
}

2.在model中创建ServerResponse

/**
* 封装后端返回的Json数据
*/

//保证序列化json时,如果是null的对象,key也会消失
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ServerResponse<T> {

   //状态码
   private int statu;
   //数据
   private T data;
   //描述信息
   private String msg;

   //setter、getter方法
   public int getStatu() {
       return statu;
   }

   public void setStatu(int statu) {
       this.statu = statu;
   }

   public T getData() {
       return data;
   }

   public void setData(T data) {
       this.data = data;
   }

   public String getMsg() {
       return msg;
   }

   public void setMsg(String msg) {
       this.msg = msg;
   }
//构造函数

   /**
    * 操作成功时,返回数据
    *
    * @param statu
    * @param data
    * @param msg
    */
   public ServerResponse(int statu, T data, String msg) {
       this.statu = statu;
       this.data = data;
       this.msg = msg;
   }

   public ServerResponse(int statu) {
       this.statu = statu;
   }

   /**
    * 操作失败时,不返回数据
    *
    * @param statu
    * @param msg
    */
   public ServerResponse(int statu, String msg) {
       this.statu = statu;
       this.msg = msg;
   }

   //使之不在序列化结果中

   public boolean checkIsSuccess() {
       return this.statu == ResponseCode.SUCCESS.getCode();
   }

//泛型方法

   /**
    * 成功返回数据
    *
    * @param msg
    * @param data
    * @param <T>
    * @return
    */
   public static <T> ServerResponse<T> createBySuccess(String msg, T data) {
       return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(), data, msg);
   }

   /**
    * 用于校验登录信息
    *
    * @param <T>
    * @return
    */
   public static <T> ServerResponse<T> createByCheckSuccess() {
       return new ServerResponse<T>(ResponseCode.SUCCESS.getCode());
   }

   /**
    * 返回错误信息
    *
    * @param msg
    * @param <T>
    * @return
    */
   public static <T> ServerResponse<T> createByError(String msg) {
       return new ServerResponse<T>(ResponseCode.ERROR.getCode(), msg);
   }

   public static <T> ServerResponse<T> createByNeedLogin() {
       return new ServerResponse<T>(ResponseCode.NEED_LOG.getCode(), "请先登录!");
   }

注:如果需要使用JsonInclude需要导包 在pom中导入

    <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.8</version>
        </dependency>

3.在UserService中修改接口

01
4.运行测试
http://localhost:8080/user/getAllUsers

相关文章

  • ssm框架进阶-----统一错误返回处理

    文章链接 ssm入门 ssm框架进阶-----数据库增删改查3.ssm框架进阶-----数据库多表查询 正文 1....

  • golang处理error

    底层函数只需要返回错误,不要对错误进行处理。错误统一放到主函数进行处理,比如记录日志/发送邮件等。

  • 配置springboot在访问404时自定义返回结果以及统一异常

    在搭建项目框架的时候用的是springboot,想统一处理异常,但是发现404的错误总是捕捉不到,总是返回的是sp...

  • spring boot 统一错误返回

    在后端服务中,我们常常会遇到各种异常错误,这时我们就需要有一个统一的错误处理来处理这些异常,并返回一个统一的数据给...

  • ssm框架进阶-----数据库多表查询

    没看过先看前两篇 ssm入门 ssm框架进阶-----数据库增删改查 正文 一. 查询双表 背景介绍:通过对科目i...

  • SSM框架整合笔记(五)统一异常处理

    前言    在Java项目中,在控制器、业务层、数据库操作的过程中,总是会遇到各种可控和不可控的异常需要处理,如果...

  • API数据字典2018-08-16

    接口异常的处理规范一. 统一的API接口返回(错误信息字典) class Err_Map{const ERRMAP...

  • response

    目标:使用Gin框架开发接口,返回响应结构封装,统一管理。 封装返回响应的字段结构 封装通用错误代码 封装系统级错...

  • 学习ssm框架

    一、什么是ssm框架 SSM全称是Spring+SpringMVC+MyBatis。 SSM框架集由Spring、...

  • axios服务端进行交互

    正常的axios使用如下: 项目中:进行二次封装,错误的统一处理 注意: 请求失败,返回Promise.rejec...

网友评论

      本文标题:ssm框架进阶-----统一错误返回处理

      本文链接:https://www.haomeiwen.com/subject/abflaqtx.html