SpringBoot封装返回结果

SpringBoot封装返回结果

在前后端分离的项目中,统一封装一个返回结果便于接口的管理 和 前端处理接受的数据。

一、状态码

public interface Constants {
    String CODE_200 = "200";    // 成功
    String CODE_400 = "400";    // 参数错误
    String CODE_500 = "500";    // 系统错误
    String CODE_401 = "401";    // 权限不足
}

因为interface里面的属性都是 Public static final 的,所以可以用来做一个常量类。

也可以用枚举。

二、结果集

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result {
    private String code;
    private String msg;
    private Object data;

    public static Result succeed() {
        return new Result(Constants.CODE_200, "", null);
    }

    public static Result succeed(Object data) {
        return new Result(Constants.CODE_200, "", data);
    }

    public static Result error(String code, String msg) {
        return new Result(code, msg, null);
    }
}

封装一个结果集让前端处理更轻松,管理接口更便利。

例:

后端接口:

@ApiOperation("该方法用于统计计数")
@GetMapping("/count")
public Result countDevice() {
    Result result;
    try {
        Integer cnt = deviceService.selectTotalByName("");
        result = Result.succeed(cnt);
    } catch (Exception e) {
        result = Result.error(Constants.CODE_500, e.toString());
    }
    return result;
}

可以在request.js中的request.interceptors.response.use中加上这一段,用于统一处理错误

if (res.code === "400" || res.code === "401" || res.code === "500") {
    ElementUI.Message({
        message: res.msg,
        type: "error"
    })
}

你可能感兴趣的:(Spring,Java笔记,spring,boot,java,后端,前后端分离,封装)