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

}

运行~

返回结果成功,结束!

相关推荐
joinwell522 分钟前
没收到回复,再点一次会启动两个 AI 吗?
人工智能·后端
苏三说技术15 分钟前
JDK27正式发布,人麻了!
后端
小蒜学长19 分钟前
基于RFID技术的仓储管理系统设计(代码+数据库+LW)
java·数据库·spring boot·后端·rfid技术·仓储管理
梦影_27 分钟前
Langchain简单快速上手教程(五)——聊天模型之流式传输
java·数据库·人工智能·python·langchain
数据狐(Datafox)42 分钟前
1688商品列表API接口解析(附 JSON 样例)
java·开发语言·数据库·爬虫·json
xcl09251 小时前
健身场馆无人自动化系统:从架构设计到落地实践
java·spring boot
EatFan1 小时前
一个二维码背后的系统设计:批次生成、绑定、扫码与数据统计怎么做?
java·后端·微信小程序·二维码·qrcode
白远山1 小时前
自助健身小程序源码:架构拆解、核心链路与本地部署实战
java·架构·uni-app·需求分析
石小石Orz1 小时前
民间AI排行榜单新鲜出炉,Fable 5.1仅排第三
前端·后端·ai编程
FYKJ_20101 小时前
【毕设分享】基于Web的校园兼职信息发布与申请系统07059
前端·vue.js·spring boot·mysql·typescript·spark·课程设计