1 要求

  每个请求成功后,后台返回的响应格式都是一致的,例如:

    SpringBoot06 统一响应格式

 

2 创建一个视图模型

  该模型用于格式化响应数据

package cn.xiangxu.springboottest.model.dataViewModel;

import lombok.Data;

@Data
public class ResultViewModel<T> {
    private Integer code;
    private String message;
    private T data;
}

 

3 创建一个视图模型工具类

  该工具类根据传入的参数来实例化视图模型类

  SpringBoot06 统一响应格式

package cn.xiangxu.springboottest.utils;

import cn.xiangxu.springboottest.model.dataViewModel.ResultViewModel;

/**
 * 响应数据封装类
 */
public class ResultViewModelUtil {
    /**
     * 请求成功方法01
     * @param object 响应数据
     * @return 视图模型实例
     */
    public static ResultViewModel success(Object object) {
        ResultViewModel resultViewModel = new ResultViewModel();
        resultViewModel.setCode(0);
        resultViewModel.setMessage("请求成功");
        resultViewModel.setData(object);
        return resultViewModel;
    }

    /**
     * 请求成功方法02
     * @return 视图模型实例
     */
    public static ResultViewModel success() {
        return success(null);
    }

    /**
     * 请求失败方法01(捕获到的已知异常)
     * @param code 异常编号
     * @param message 异常信息
     * @return 视图模型实例
     */
    public static ResultViewModel error(Integer code, String message) {
        ResultViewModel resultViewModel = new ResultViewModel();
        resultViewModel.setCode(code);
        resultViewModel.setMessage(message);
        resultViewModel.setData(null);
        return resultViewModel;
    }

    /**
     * 请求失败方法02(系统异常)
     * @return 视图模型实例
     */
    public static ResultViewModel error() {
        ResultViewModel resultViewModel = new ResultViewModel();
        resultViewModel.setCode(-1);
        resultViewModel.setMessage("系统异常");
        resultViewModel.setData("系统维护中...");
        return resultViewModel;
    }
}
View Code

相关文章: