引言
在后台开发时,控制台得到的数据格式会有不同,这时我们需要设置统一返回结果,方便我们分析数据以及对数据进行管理。
一、方法
定义统一的返回格式有利于提高开发效率。
1、定义code状态码,和返回message
- 200:请求成功
- 400:请求失败
- 404:接口不存在
- 500:服务器内部出错
2、编写枚举类
2.1什么是枚举:
Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。
每个枚举都是通过 Class 在内部实现的,且所有的枚举值都是 public static final 的。
Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。
2.2 简单测试类:
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
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
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层
//查询所有
@RequestMapping("/queryall")
public ResponseResult queryall(){
return ResponseResult.SUCCESS().setData(userService.list());
}
5、postman测试
二、结语
设置统一返回结果是我们在日常开发的一个好习惯也是必要的步骤,能极大的提高开发效率,读者可根据自己所需添加对应的属性和数据