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

com.moon.web.ResultBody Maven / Gradle / Ivy

package com.moon.web;

import java.util.Objects;

/**
 * Web 返回值包装
 * 

* 其实更建议直接使用{@code http}状态码 * * @author moonsky */ public class ResultBody { private Boolean status; private int code; private T data; private transient Object extra; private transient String message; public ResultBody() { } public ResultBody(T data) { this.data = data; } public static ResultBody ok() { return new ResultBody<>(); } public static ResultBody ok(E data) { return new ResultBody<>(data).success(); } public static ResultBody ok(E data, String message) { return ok(data).message(message); } public static ResultBody fail() { return (ResultBody) ok().status(false); } public static ResultBody fail(int code) { return (ResultBody) fail().code(code); } public static ResultBody fail(String message) { return (ResultBody) fail().message(message); } public static ResultBody fail(int code, String message) { return (ResultBody) fail(code).message(message); } public static ResultBody fail(String message, E data) { return ok(data, message).failed(); } public static ResultBody fail(int code, String message, E data) { return fail(message, data).code(code); } public ResultBody success() { return status(Boolean.TRUE); } public ResultBody failed() { return status(Boolean.FALSE); } public ResultBody status(Boolean status) { this.status = status == null ? true : status; return this; } public ResultBody code(int code) { setCode(code); return this; } public ResultBody data(T data) { setData(data); return this; } public ResultBody extra(Object extra) { setExtra(extra); return this; } public ResultBody message(String message) { setMessage(message); return this; } public boolean getStatus() { return status == null ? true : status; } public void setStatus(Boolean status) { this.status = status; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public T getData() { return data; } public void setData(T data) { this.data = data; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Object getExtra() { return extra; } public void setExtra(Object extra) { this.extra = extra; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ResultBody body = (ResultBody) o; return code == body.code && Objects.equals(status, body.status) && Objects.equals(data, body.data) && Objects.equals(extra, body.extra) && Objects.equals(message, body.message); } @Override public int hashCode() { return Objects.hash(status, code, data, extra, message); } @Override public String toString() { final StringBuilder sb = new StringBuilder("ResultBody{"); sb.append("status=").append(status); sb.append(", code=").append(code); sb.append(", data=").append(data); sb.append(", extra=").append(extra); sb.append(", message='").append(message).append('\''); sb.append('}'); return sb.toString(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy