当前位置: 首页 > news >正文

后端统一接口返回状态【初步模板】

后端统一接口返回状态【模板】

文章目录

  • 后端统一接口返回状态【模板】
      • 1 .Result类编写
      • 2 .Constants类编写
      • 3 .更改Controller层下的类return格式

开发过程中,每个接口的返回格式设计都是一样的,这样可以大大提高开发效率。
在这里插入图片描述

项目结构如下图:分别创建Result类和Constants接口

在这里插入图片描述

1 .Result类编写

  • 未使用Lombok插件的Result类代码

    package com.wudreamer.springboot2.config;
    /*** 接口统一返回包装类*/
    public class Result {private String code;private String msg;private Object data;public Result() {// 无参构造函数}public Result(String code, String msg, Object data) {this.code = code;this.msg = msg;this.data = data;}public static Result success() {return new Result(Constants.CODE_200, "", null);}public static Result success(Object data) {return new Result(Constants.CODE_200, "", data);}public static Result error(String code, String msg) {return new Result(code, msg, null);}public static Result error() {return new Result(Constants.CODE_500, "系统错误", null);}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}
    }
    
  • 使用Lombok插件后的Result类代码

    import com.ppj.constants.Constants;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;/*** 接口统一返回包装类*/
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Result {private String code;private String msg;private Object data;public static Result success() {return new Result(Constants.CODE_200, "", null);}public static Result success(Object data) {return new Result(Constants.CODE_200, "", data);}public static Result error(String code, String msg) {return new Result(code, msg, null);}public static Result error() {return new Result(Constants.CODE_500, "系统错误", null);}}

2 .Constants类编写

存放状态码

package com.wudreamer.springboot2.config;public interface Constants {String CODE_200 = "200"; //成功String CODE_401 = "401";  // 权限不足String CODE_400 = "400";  // 参数错误String CODE_500 = "500"; // 系统错误String CODE_600 = "600"; // 其他业务异常}

3 .更改Controller层下的类return格式

在这里插入图片描述

将返回类型更改为Result、修改return 。

// 查询所有用户@GetMappingpublic Result findAll() {return Result.success(userService.findAll());}// 根据id查询单个用户@GetMapping("/{id}")public Result findById(@PathVariable Integer id) {return Result.success(userService.findById(id));}// 新增单个用户@PostMappingpublic Result insert(@RequestBody User user) {userService.insert(user);return Result.success();}// 修改用户@PutMappingpublic Result update(@RequestBody User user) {userService.update(user);return Result.success();}// 删除单个用户@DeleteMapping("/{id}")public Result delete(@PathVariable Integer id) {userService.delete(id);return Result.success();}
http://www.lryc.cn/news/507417.html

相关文章:

  • 呼入机器人:24小时客户服务的未来趋势
  • whisper.cpp: PC端测试 -- 电脑端部署音频大模型
  • WPF ControlTemplate 控件模板
  • 序列化和反序列化(一)
  • Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)
  • 取子串(指针)
  • Linux系列之如何更换Centos yum源?
  • 过滤器和拦截器的区别详解
  • centos使用mkisofs构建无人值守镜像(附官方学习文档)
  • Pyside6+qml+Qtcreator项目实战
  • 秒鲨后端之MyBatis【1】环境的搭建和核心配置文件详解
  • 编译原理复习---目标代码生成
  • Winnows基础(2)
  • 酒蒙子骰子小程序系统
  • 网络安全防范
  • 重拾设计模式--组合模式
  • 红米Note 9 Pro5G刷小米官方系统
  • 渗透测试-前端加密分析之RSA加密登录(密钥来源服务器)
  • 踩准智能汽车+机器人两大风口,速腾聚创AI+机器人应用双线爆发
  • YOLOv8全解析:高效、精准的目标检测新时代——创新架构与性能提升
  • 【Python】使用Selenium 操作浏览器 自动化测试 记录
  • GDPU软件工程习题(挖空版)
  • 【活动邀请·深圳】深圳COC社区 深圳 AWS UG 2024 re:Invent re:Cap
  • Hutool工具包的常用工具类的使用介绍
  • C++简明教程(文章要求学过一点C语言)(2)
  • 防火墙技术与网络安全
  • html 中 表格和表单的关系与区别
  • 基于Java的购物网站毕业论文
  • Redis——缓存预热+缓存雪崩+缓存击穿+缓存穿透
  • wxWidgets使用wxStyledTextCtrl(Scintilla编辑器)的正确姿势