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

}

运行~

返回结果成功,结束!

相关推荐
阿祖zu18 分钟前
别再优化 RAG 了,适配 Agent 的 LLM Wiki 知识库理念
前端·后端·aigc
昵称为空C1 小时前
手撸一个动态 SQL 执行引擎:不重启服务,在线增删改查任意数据库
spring boot·后端
用户8356290780511 小时前
用 Python 自动化 PowerPoint 演讲者备注添加
后端·python
神奇小汤圆1 小时前
科研神器再升级!Claude Code 全套 Skills,16 大科研场景全覆盖!
后端
东坡白菜1 小时前
破局全栈:一个前端开发的Java入门实战记录(1)
java·全栈
tyung1 小时前
Go 手写有界 SPSC 环形队列:无 CAS、无锁、Cache 友好的无锁模型
后端·go
咕白m6251 小时前
使用 C# 在 Excel 中应用多种字体样式
后端·c#
唐青枫1 小时前
Java Tomcat 实战指南:从 Servlet 容器到 Spring Boot 部署
java
Java编程爱好者1 小时前
放弃 Spring AI?这 3 个开源框架,才是让 SpringBoot 玩转 AI Agent 的正解
后端
二月龙2 小时前
伪类与伪元素深度解析:before/after 实用案例
后端