API接口数据统一格式返回

新建状态码枚举类

一般都有code(状态码)和message(提示信息)这两个属性

public enum ResultCode {
    //成功
    SUCCESS(1,"成功"),
    //参数错误100-199
    PARAM_IS_INVALID(101,"参数无效"),
    PARAM_IS_BLANK(102,"参数为空"),
    PARAM_TYPE_BIND_ERROR(103,"参数类型错误"),
    PARAM_NOT_COMPLETE(104,"参数缺失"),
    //用户错误200-299
    USER_NOT_LOGGED_IN(201,"用户未登录,访问的路径需要验证,请登录"),
    USER_LOGIN_ERROR(202,"账号不存在或密码错误"),
    USER_ACCOUNT_FORBIDDEN(203,"账号已被禁用"),
    USER_NOT_EXIST(204,"用户不存在"),
    USER_HAS_EXISTED(205,"用户已存在");
    
    private Integer code;
    
    private String message;
    
    ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
    
    public Integer code() {
        return this.code;
    }

    public String message() {
        return this.message;
    }
    
}

新建一个返回体类

import java.io.Serializable;

public class Result implements Serializable{
    
    private Integer code;
    
    private String message;

    private Object data;

    public Result() {
    }

    public Result(ResultCode resultCode, Object data) {
        this.code = resultCode.code();
        this.message = resultCode.message();
        this.data = data;
    }
    
    public static Result success(){
        Result result = new Result();
        result.setResultCode(ResultCode.SUCCESS);
        return result;
    }
    
    private void setResultCode(ResultCode resultCode) {
        this.code = resultCode.code();
        this.message = resultCode.message();
    }

    public static Result success(Object data){
        Result result = new Result();
        result.setResultCode(ResultCode.SUCCESS);
        result.setData(data);
        return result;
    }
    
    public static Result failure(ResultCode resultCode){
        Result result = new Result();
        result.setResultCode(resultCode);
        return result;
    }
    
    public static Result failure(ResultCode resultCode, Object data){
        Result result = new Result();
        result.setResultCode(resultCode);
        result.setData(data);
        return result;
    }

    public Integer getCode() {
        return code;
    }

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

    public String getMessage() {
        return message;
    }

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

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
    
}

控制层

import java.util.HashMap;
import java.util.Map;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserControll {

    @GetMapping("user")
    public Result getUser(){
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("name", "刘亦菲");
        map.put("age", 16);
//      Result result = new Result(ResultCode.SUCCESS, map);
//      return result;
        return Result.success(map);
    }
    
}

效果图


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容