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

}

运行~

返回结果成功,结束!

相关推荐
m0_640602445 分钟前
2026 年餐饮收银系统前后端技术实现——核心架构与原理详解
后端·微服务·云原生·架构
长谷深风1117 分钟前
Agent 何时该 Replan:五个关键判断
java·大数据·开发语言·ai agent·ai智能体·agent设计·clarify机制
Scene2168 分钟前
Flux 与 Mono:Project Reactor 核心响应式类型深度解析
后端
lingran__13 分钟前
C++ STL unordered系列(哈希) 底层剖析与模拟实现万字详解 | 基于哈希表,复刻 SGI-STL 泛型哈希容器架构
开发语言·c++·后端·哈希算法·哈希表·泛型编程·unordered系列
小林ixn24 分钟前
NestJS 入门实战:从 0 到 1 撸一个 Todo CRUD,感受装饰器与模块化的优雅
后端·mvc·nestjs
阿弱30 分钟前
graph-core 的边与命令模式设计
java·后端·agent
智驭未来掌门人31 分钟前
利用Qt设计实现一款桌面程序
后端
长栎38 分钟前
你以为抽象工厂是「创建一组对象」——其实它是「锁定产品族兼容性」
后端
互联网中的一颗神经元40 分钟前
01. Go 内存管理全景架构
java·jvm·golang