Remember a return result set class

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;


@Builder
@Data
@AllArgsConstructor
//响应错误列表
public class ErrorMessage implements Serializable {
    
    

    private static final long serialVersionUID = 1L;

    private String field;

    private String message;

}


import java.io.Serializable;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

@Builder
@ToString
@Accessors(chain = true)
@AllArgsConstructor
//响应信息主体
public class R<T> implements Serializable
{
    
    
	private static final long serialVersionUID = 1L;

	@Builder.Default
	@Getter
	@Setter
	//返回标记:成功标记=0,失败标记=1
	private int code = 0;

	@Builder.Default
	@Getter
	@Setter
	//返回信息
	private String msg = "success";
	
	
	
	@Getter
	@Setter
	//返回错误集合信息
	private List<ErrorMessage> errorMessage;

	@Getter
	@Setter
	//数据
	private T data;
	
	@Getter
	@Setter
	//是否成功
	private boolean success;

	public R()
	{
    
    
		super();
	}

	public R(T data)
	{
    
    
		super();
		this.data = data;
	}

	public R(T data, String msg)
	{
    
    
		super();
		this.data = data;
		this.msg = msg;
	}

	public R(Throwable e)
	{
    
    
		super();
		this.msg = e.getMessage();
		this.code = CommonConstants.FAIL;
	}

	public static <T> R<T> ok()
	{
    
    
		return R.restResult(null, 0, null);
	}

	public static <T> R<T> ok(T data)
	{
    
    
		return R.restResult(data, 0, null);
	}

	public static <T> R<T> ok(T data, String msg)
	{
    
    
		return R.restResult(data, 0, msg);
	}

	public static <T> R<T> fail()
	{
    
    
		return R.restResult(null, 1, null);
	}

	public static <T> R<T> fail(int code)
	{
    
    
		return R.restResult(null, code, null);
	}

	public static <T> R<T> fail(String msg)
	{
    
    
		return R.restResult(null, 1, msg);
	}

	public static <T> R<T> fail(int code, String msg)
	{
    
    
		return R.restResult(null, code, msg);
	}
	
	public static <T> R<T> fail(List<ErrorMessage> errorMessages)
	{
    
    
		return R.restErrorMessageResult(null, 1, errorMessages);
	}

	public static <T> R<T> fail(T data)
	{
    
    
		return R.restResult(data, 1, null);
	}

	public static <T> R<T> fail(T data, String msg)
	{
    
    
		return R.restResult(data, 1, msg);
	}

	private static <T> R<T> restResult(T data, int code, String msg)
	{
    
    
		R<T> apiResult = new R<>();
		apiResult.setCode(code);
		if(code==0) {
    
    
			apiResult.setSuccess(true);
		}else if(code==1) {
    
    
			apiResult.setSuccess(false);
		}
		apiResult.setData(data);
		apiResult.setMsg(msg);
		return apiResult;
	}
	
	
	private static <T> R<T> restErrorMessageResult(T data, int code, List<ErrorMessage> errorMessages)
	{
    
    
		R<T> apiResult = new R<>();
		apiResult.setCode(code);
		if(code==0) {
    
    
			apiResult.setSuccess(true);
		}else if(code==1) {
    
    
			apiResult.setSuccess(false);
		}
		apiResult.setData(data);
		apiResult.setErrorMessage(errorMessages);
		return apiResult;
	}

	/**
	 * @param localizedMessage
	 * @return
	 */
	public static R<?> failed(String localizedMessage) {
    
    
		return R.restResult(null, 1, localizedMessage);
	}
}

Guess you like

Origin blog.csdn.net/m0_49605579/article/details/131303502