优雅处理返回信息状态码: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!");
    }

}

运行~

返回结果成功,结束!

相关推荐
小码哥_常1 天前
别再被误导!try...catch性能大揭秘
后端
无巧不成书02181 天前
30分钟入门Java:从历史到Hello World的小白指南
java·开发语言
苍何1 天前
30分钟用 Agent 搓出一家跨境网店,疯了
后端
ssshooter1 天前
Tauri 2 iOS 开发避坑指南:文件保存、Dialog 和 Documents 目录的那些坑
前端·后端·ios
追逐时光者1 天前
一个基于 .NET Core + Vue3 构建的开源全栈平台 Admin 系统
后端·.net
程序员飞哥1 天前
90后大龄程序员失业4个月终于上岸了
后端·面试·程序员
zs宝来了1 天前
Playwright 自动发布 CSDN 的完整实践
java
彭于晏Yan1 天前
Redisson分布式锁
spring boot·redis·分布式
吴声子夜歌1 天前
TypeScript——基础类型(三)
java·linux·typescript
GetcharZp1 天前
Git 命令行太痛苦?这款 75k Star 的神级工具,让你告别“合并冲突”恐惧症!
后端