前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >SpringBoot统一返回结果

SpringBoot统一返回结果

作者头像
算法与编程之美
发布2022-05-23 14:55:18
发布2022-05-23 14:55:18
93400
代码可运行
举报
运行总次数:0
代码可运行

引言

在后台开发时,控制台得到的数据格式会有不同,这时我们需要设置统一返回结果,方便我们分析数据以及对数据进行管理。

一、方法

定义统一的返回格式有利于提高开发效率。

1、定义code状态码,和返回message

  • 200:请求成功
  • 400:请求失败
  • 404:接口不存在
  • 500:服务器内部出错

2、编写枚举类 2.1什么是枚举:

Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。 每个枚举都是通过 Class 在内部实现的,且所有的枚举值都是 public static final 的。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。 2.2 简单测试类:

代码语言:javascript
代码运行次数:0
运行
复制
enum Color
{
RED, GREEN, BLUE;
}
public class Test
{
// 执行输出结果
public static void main(String[] args)
{
 Color c1 = Color.RED;
 System.out.println(c1);
}
}

2.3根据需求定义响应码枚举类ResponseStatusEnum

代码语言:javascript
代码运行次数:0
运行
复制
public enum ResponseStatusEnum {
SUCCESS(200, "请求成功"),
FAILED(400,"请求失败");
NOT_FOUND(404,"接口不存在"),
SERVER_ERROR(500,"服务器内部出错");

   ResponseStatusEnum(int code,String message){
this.code = code;
this.message = message;
   }
private int code;
private String message;
private Object data;

public int getCode() {
return code;
   }

public void setCode(int code) {
this.code = code;
   }

public String getMessage() {
return message;
   }

public void setMessage(String message) {
this.message = message;
   }
}

3、定义既有数据又有返回状态的ResponseResult

代码语言:javascript
代码运行次数:0
运行
复制
import lombok.Data;
@Data
public class ResponseResult {
private int code;
private String message;
private Object data;

public ResponseResult(ResponseStatusEnum responseStatusEnum) {
this.code = responseStatusEnum.getCode();
this.message = responseStatusEnum.getMessage();
   }
public static ResponseResult SUCCESS(){
return new ResponseResult(ResponseStatusEnum.SUCCESS);
   }
public static ResponseResult FAILED(){
return new ResponseResult(ResponseStatusEnum.FAILED);
   }
public static ResponseResult FAILED(String message){
       ResponseResult responseResult = new ResponseResult(ResponseStatusEnum.FAILED);
       responseResult.setMessage(message);
return responseResult;
   }
public ResponseResult setData(Object data){
this.data = data;
return this;
   }
}

4、编写Controller层

代码语言:javascript
代码运行次数:0
运行
复制
//查询所有
@RequestMapping("/queryall")
public ResponseResult queryall(){
return ResponseResult.SUCCESS().setData(userService.list());
}

5、postman测试

二、结语

设置统一返回结果是我们在日常开发的一个好习惯也是必要的步骤,能极大的提高开发效率,读者可根据自己所需添加对应的属性和数据

稿件来源:深度学习与文旅应用实验室(DLETA)


作者:彭诚

主编:欧洋

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档