SpringBoot [ 统一响应&&异常处理&&日志输出 ]

本文介绍了如何在SpringBoot项目中实现统一的HTTP响应格式、自定义异常处理和日志输出。内容包括定义Result响应类和ExceptionConstant常量,创建自定义BusinessException,设置全局异常处理器,以及配置Logback进行日志输出和管理。
摘要由CSDN通过智能技术生成

SpringBoot [ 2.统一响应&&异常处理&&日志输出 ] - 目录


1.统一响应

在Java前后端分离的项目当中,后端提供HTTP接口供前端调用,而HTTP接口的响应结果需要有一个统一的数据结构供前端解析

1.1.ExceptionConstant类,Result类

Result即接口响应的数据结构,由响应码,响应消息,响应数据组成;
ExceptionConstant即Result使用的异常常量,用于定义响应码

package com.mantou.boot.constants;

/**
 * 异常定义-常量
 *
 * @author mantou
 */
public class ExceptionConstant {

    /**----------------------------------------------------操作类--------------------------------------------------------*/
    /**
     * 操作成功
     */
    public static final String RET_CODE_SUCCESS = "00200";
    public static final String RET_INFO_SUCCESS = "Operate Successfully ( 操作成功 ) !";
    /**
     * 操作失败
     */
    public static final String RET_CODE_FAILED = "00500";
    public static final String RET_INFO_FAILED = "Operate Failure ( 操作失败 ) !";
    /**-----------------------------------------------------操作类-------------------------------------------------------*/


    /**---------------------------------------------------服务/业务类-------------------------------------------------------*/
    /**
     * 业务异常
     */
    public static final String RET_CODE_BUSINESS_EXCEPTION = "00010";
    public static final String RET_INFO_BUSINESS_EXCEPTION = "Business Exception ( 业务异常 ) !";

    /**
     * 服务异常
     */
    public static final String RET_CODE_SERVER_EXCEPTION = "01000";
    public static final String RET_INFO_SERVER_EXCEPTION = "Server Exception ( 服务异常 ) !";
    /**---------------------------------------------------服务/业务类-------------------------------------------------------*/


    /**----------------------------------------------------请求/参数类----------------------------------------------------*/
    /**
     * HTTP请求不正确定义: 后端接口HTTP.METHOD定义与前端发起的HTTP.METHOD不符,则视为HTTP请求不正确
     */
    public static final String RET_CODE_REQUEST_EXCEPTION = "00001";
    public static final String RET_INFO_REQUEST_EXCEPTION = "Current Request Method ( GET POST PUT DELETE ) Not Supported ( 不支持当前请求方法 ) !";

    /**
     * 参数无意义empty定义: 前端请求参数无意义(null, "", []等, 视为empty)
     */
    public static final String RET_CODE_PARAM_EMPTY = "00002";
    public static final String RET_INFO_PARAM_EMPTY = "Parameters Is Empty ( 参数无意义 ) !";
    /**-----------------------------------------------------请求/参数类----------------------------------------------------*/


}

Result类

package com.mantou.boot.result;



import com.mantou.boot.constants.ExceptionConstant;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;


/**
 * 项目统一响应结果类
 *
 * @author mantou
 */
@Data
public class Result<T> implements Serializable {

    private static final long serialVersionUID = 4559672604634663976L;
    /**
     * 响应码
     */
    private String resCode;
    /**
     * 响应消息
     */
    private String reInfo;

    /**
     * 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值