优雅处理返回信息状态码:Result对象在Spring Boot中的应用

前言

在开发过程中,处理返回的信息状态码是一个重要的问题,尤其是在大型项目中。为了统一处理这些状态码,我在Spring Boot中创建了一个名为Result的Java对象,用于封装返回的信息和状态码。在本文中,我将分享如何实现这一功能以及它的实际应用价值。我将讨论如何使用Result对象来统一处理返回信息状态码,解决开发中遇到的问题,并提供一些实用的技巧和经验。希望本文能为你在开发过程中处理返回信息状态码提供一些帮助和启发。

第一步:编写result对象

我们先在项目中创建common目录存放result的java对象

写入以下代码

java 复制代码
package com.example.demo.common;

import lombok.*;

@Getter
@Setter
@AllArgsConstructor //所有属性的构造函数
@NoArgsConstructor  //无参构造
@Builder    //建造者模式创建Result对象
public class Result {
    //代表成功的HTTP状态码200,表示请求已成功。
    public static final String CODE_SUCCESS="200";
    //代表认证错误的HTTP状态码401,表示请求要求用户进行身份验证。
    public static final String CODE_AUTH_ERROR="401";
    //代表系统错误的HTTP状态码500,表示服务器遇到不可预知的情况,导致无法完成请求。
    public static final String CODE_SYS_ERROR="500";
    private String code;   /*  请求的返回编码 */
    private String msg;    /*  请求返回的信息 */
    private Object data;    /* 请求返回的数据 */

//    无数据的成功返回
    public static Result success(){
        return new Result(CODE_SUCCESS,"请求成功",null);
    }
//    有数据的成功返回
    public static Result success(Object data){
        return new Result(CODE_SUCCESS,"请求成功",data);
    }
//    无数据的失败返回
    public static Result error(String msg){
        return new Result(CODE_SYS_ERROR,msg,null);
    }
//    无数据有信息的失败返回
    public static Result error(String code,String msg){
        return new Result(code,msg,null);
    }
//    有数据的失败返回
    public static Result error(){
        return new Result(CODE_SYS_ERROR,"系统错误",null);
    }


}
第二步:验证代码

创建一个controller文件夹,创建WebController的Java文件来直接使用我们封装好的reuslt对象

输入以下代码

java 复制代码
@RestController     //解释成一个返回数据返回结构的构造器
public class WebController {
    
    //默认路径为localhost:8080
    @RequestMapping
    public Result hello(){
        return Result.success("hello!");
    }

}

运行~

返回结果成功,结束!

相关推荐
oak隔壁找我5 小时前
MySQL中 SHOW FULL PROCESSLIST` 输出中 `State` 列的所有可能值
后端
上进小菜猪6 小时前
基于 YOLOv8 的面向文档智能处理的表格区域检测系统 [目标检测完整源码]
后端
oak隔壁找我6 小时前
JVM常用调优参数
java·后端
IT_陈寒10 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
晨星shine11 小时前
GC、Dispose、Unmanaged Resource 和 Managed Resource
后端·c#
蝎子莱莱爱打怪11 小时前
OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解
java·后端·ai编程
倚栏听风雨11 小时前
【ES避坑指南】明明存的是 "CodingAddress",为什么 term 查询死活查不到?彻底搞懂 text 和 keyword
后端
程序员爱钓鱼11 小时前
Go 操作 Windows COM 自动化实战:深入解析 go-ole
后端·go·排序算法
回家路上绕了弯12 小时前
深入解析Agent Subagent架构:原理、协同逻辑与实战落地指南
分布式·后端
子玖12 小时前
实现微信扫码注册登录-基于参数二维码
后端·微信·go