All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hothub.module.common.base.ResultEntity Maven / Gradle / Ivy

The newest version!
package org.hothub.module.common.base;


import org.hothub.module.common.exception.BadRequestException;

/**
 * 接口返回实体
 */
public class ResultEntity {

    //请求响应状态。HTTP状态码,默认200,即请求成功。
    private Integer code;

    //业务响应消息。错误提示或正确提示
    private String message;

    //业务响应数据。
    private Object data;


    //额外数据。
    //适用于。 例:当data中返回List时,同时需要返回一个单独的字段值,此时便可放在extra中。
    //             可避免因为多返回了一个单独字段而修改data返回的结构,减少后端、前端操作步骤。
    private Object extra;



    public ResultEntity() {
    }


    public static ResultEntity build(String message) {
        return build(message, new Object());
    }

    public static ResultEntity build(String message, Object data) {
        return build(message, data, 200);
    }

    public static ResultEntity build(String message, Object data, Integer code) {
        return build(message, data, code, "");
    }

    public static ResultEntity build(String message, Object data, Integer code, Object extra) {
        return new ResultEntity(message, data, code, extra);
    }



    public ResultEntity(String message) {
        this(message, new Object());
    }

    public ResultEntity(String message, Object data) {
        this(message, data, 200);
    }

    public ResultEntity(String message, Object data, int code) {
        this(message, data, code, "");
    }

    public ResultEntity(String message, Object data, int code, Object extra) {
        this.message = message;
        this.data = data;
        this.code = code;
        this.extra = extra;
    }


    public static ResultEntity success(String message) {
        return success(message, "");
    }

    public static ResultEntity success(String message, Object data) {
        return success(message, data, "");
    }

    public static ResultEntity success(String message, Object data, Object extra) {
        return new ResultEntity(message, data, 200, extra);
    }


    public static ResultEntity fail(String message) {
        return fail(message, 200);
    }

    public static ResultEntity fail(String message, Integer code) {
        return fail(message, code, "");
    }

    public static ResultEntity fail(String message, Integer code, Object extra) {
        return new ResultEntity(message, "", code, extra);
    }



    public static ResultEntity noData(int code) {
        return noData(code, HintWord.EMPTY_DATA);
    }

    public static ResultEntity noData(int code, String message) {
        return noData(code, message, "");
    }

    public static ResultEntity noData(int code, String message, Object data) {
        return noData(code, message, data, null);
    }

    public static ResultEntity noData(int code, String message, Object data, Object extra) {
        return new ResultEntity(message == null || message.length() <= 0 ? HintWord.EMPTY_DATA : message, data, code, extra);
    }

    public static ResultEntity badPassword() {
        return new ResultEntity(HintWord.PASSWORD_ERROR, "", 500001);
    }

    public static ResultEntity hasExpires() {
        return new ResultEntity("登录已过期", "", 500002);
    }

    public static ResultEntity notLogin() {
        return new ResultEntity("请先登录", "", 500003);
    }

    public static ResultEntity noPermit() {
        return new ResultEntity(HintWord.FORBIDDEN, "", 500004);
    }

    public static ResultEntity errorParam() {
        return new ResultEntity(HintWord.BAD_REQUEST, "", 500005);
    }

    public static ResultEntity noAccount() {
        return new ResultEntity(HintWord.ACCOUNT_ERROR, "", 500006);
    }

    public static ResultEntity badRequest() {
        return badRequest(HintWord.BAD_REQUEST);
    }

    public static ResultEntity badRequest(String message) {
        throw new BadRequestException(message);
    }


    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;
    }

    public Object getExtra() {
        return extra;
    }

    public void setExtra(Object extra) {
        this.extra = extra;
    }

    @Override
    public String toString() {
        return "ResultEntity{" +
                "code=" + code +
                ", message='" + message + '\'' +
                ", data=" + data + '\'' +
                ", extra=" + extra +
                '}';
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy