Java接口常用返回工具类

本文介绍了一种基于Java的响应实体设计方法,通过自定义BaseEntity和BaseResponseEntity类来统一处理HTTP响应的状态码、状态信息及数据内容。该设计支持灵活的状态码配置,并能根据不同业务场景返回合适的响应数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.jkgis.propaganda.back.entity.base;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;


public class BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @JsonProperty("StateInfo")
    private String stateInfo = "OK";
    @JsonProperty("StateCode")
    private int stateCode = 200;

    @Override
    public String toString() {
        return "BaseEntity{" +
                "stateInfo='" + stateInfo + '\'' +
                ", stateCode=" + stateCode +
                '}';
    }

    public BaseEntity(int stateCode) {
        this.stateCode = stateCode;
        switch (stateCode) {
            case 200:
                this.stateInfo = "OK";
                break;
            case 404:
                this.stateInfo = "接口地址不正确";
                break;
            case 405:
                this.stateInfo = "请求方法不支持,request method not allowed";
                break;
            case 500:
                this.stateInfo = "服务内部错误";
                break;
            case 1001:
                this.stateInfo = "暂无数据";
                break;
            case 1002:
                this.stateInfo = "参数错误";
                break;
            default:
                break;
        }
    }

    public BaseEntity(int stateCode, String stateInfo) {
        this.stateCode = stateCode;
        this.stateInfo = stateInfo;
    }

}

 

package com.jkgis.propaganda.back.entity.base;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.jkgis.propaganda.back.constant.Constant;

import java.io.Serializable;

public class BaseResponseEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @JsonProperty("StateInfo")
    private String stateInfo = "OK";
    @JsonProperty("StateCode")
    private int stateCode = 200;
    @JsonProperty("Data")
    private Object data = "";
    @JsonProperty("DataCount")
    private int dataCount = 0;

    @Override
    public String toString() {
        return "BaseResponseEntity [stateInfo=" + stateInfo + ", stateCode=" + stateCode
                + ", data=" + data + ", dataCount=" + dataCount + "]";
    }
    public BaseResponseEntity(int stateCode) {
        this.stateCode = stateCode;
        switch (stateCode) {
            case 404:
                this.stateInfo = "接口地址不正确";
                break;
            case 405:
                this.stateInfo = "请求方法不支持,request method not allowed";
                break;
            case 500:
                this.stateInfo = "服务内部错误";
                break;
            case 1001:
                this.stateInfo = "暂无数据";
                break;
            case 1002:
                this.stateInfo = "参数错误";
                break;
            default:
                break;
        }
    }

    public BaseResponseEntity(String stateInfo, int stateCode, Object data, int dataCount) {
        super();
        this.stateInfo = stateInfo;
        this.stateCode = stateCode;
        this.data = data;
        this.dataCount = dataCount;
    }

    public BaseResponseEntity() {//暂无数据
        super();
        this.stateInfo = Constant.CODE_EMPTY_MSG;
        this.stateCode = Constant.CODE_EMPTY;
        this.data = "";
        this.dataCount = 0;
    }

    public BaseResponseEntity(Object data) { //正确
        super();
        this.stateInfo = Constant.CODE_OK_MSG;
        this.stateCode = Constant.CODE_OK;
        this.data = data;
        this.dataCount = 1;
    }

    public BaseResponseEntity(Object Data, int DataCount) { //正确
        super();
        this.stateInfo = Constant.CODE_OK_MSG;
        this.stateCode = Constant.CODE_OK;
        this.data = Data;
        this.dataCount = DataCount;
    }

}

 

package com.jkgis.propaganda.back.constant;

import org.springframework.http.HttpStatus;

@SuppressWarnings("ALL")
public class Constant {
    /**
     * 暂无数据
     */
    public static final int CODE_EMPTY = 1001;
    public static final String CODE_EMPTY_MSG = "暂无数据";

    /**
     * OK
     */
    public static final int CODE_OK = HttpStatus.OK.value();
    public static final String CODE_OK_MSG = "ok";

    /**
     * 操作失败
     */
    public static final int CODE_DEFALT = 400;
    public static final String CODE_DEFALT_MSG = "操作失败";

    /**
     * 参数错误
     */
    public static final int CODE_CONDITION_ERROR = 1002;
    public static final String CODE_CONDITION_ERROR_MSG = "参数错误";

    /**
     * 系统异常
     */
    public static final int CODE_SYSTEM_ERROR = HttpStatus.INTERNAL_SERVER_ERROR.value();
    public static final String CODE_SYSTEM_ERROR_MSG = "系统异常";

    /**
     * 参数错误
     */
    public static final int CODE_CONDITION_USE = 1100;
    public static final String CODE_CONDITION_USE_MSG = "存在相同信息记录";

    /**
     * 有子类,不能删除
     */
    public static final int CODE_NOT_DELETE = 444;
    public static final String CODE_NOT_DELETE_MSG = "存在子集,不能删除";

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值