记录封装统一返回前端参数和全局异常处理

本文记录了如何在Java应用中实现封装统一的返回前端参数和全局异常处理机制。主要内容包括定义成功的响应(code: 200, message: success)和失败的响应,使用枚举来表示不同业务状态,并创建相应的业务异常类继承自RuntimeException。同时,文中还介绍了如何设置全局异常捕获以确保统一的响应处理。" 107967073,9960876,Python编码与文件读写详解,"['python', '文件操作', '编码解码', '文件读写']
摘要由CSDN通过智能技术生成

该文章仅做记录:

统一定义返回给前端数据格式:

{
    "code": 200,
    "message": "success",
    "data": [
        {
            "id": 1,
            "name": "admin",
            "account": "admin",            
            "roleType": 4
        }
    ]
}
{
    "code": 20003,
    "message": "验证码已过期",
    "data": null
}

定义返回对象,定义返回成功响应,失败响应

成功响应默认给值 code:200,message:success

失败响应返回对应的报错信息。

响应再根据枚举取值

package com.doMyself.exercise.global;

import com.alibaba.fastjson.JSONObject;
import com.doMyself.exercise.exception.BusinessInfo;

import java.io.Serializable;


public class Response<T> implements Serializable {
    
    
    private Integer code = 200;
    private String message = "success";
    private T data;

    private Response() {
    }

    private Response success(T data) {
        this.data = data;
        return this;
    }

    private Response fail(Integer code, String msg) {
        this.code = code;
        this.message = msg;
        return this;
    }
    
    public Response(BusinessInfo businessInfo){
        this.code = businessInfo.getCode();
        this.message = businessInfo.getMessage();
    }

    /**
     * 成功
     * @return
     */
    public static Response builderSuccess(){
        return builderSuccess(null);
    }

    /**
     * 成功
     * @param data
     * @return
     */
    public static Response builderSuccess(Object data) {
        Response response = new Response();
        response.setData(data);
        return response;
    }

    /**
     * 失败
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值