Java通用RestResult或者叫RestResponse;
/**
* 通用Rest接口结果类
*/
public class RestResult<T> {
private final Integer code;
private final String msg;
private final T data;
private final LocalDateTime timestamp = LocalDateTime.now();
/* 常用静态字段 */
public static final RestResult<?> OK = new RestResult<>(HttpServletResponse.SC_OK, "success");
public static final RestResult<?> FAIL = new RestResult<>(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "error");
/* 常用静态方法 */
public static <R> RestResult<R> ok(R data) {
return new RestResult<>(HttpServletResponse.SC_OK, "success", data);
}
public static RestResult<?> fail(String msg) {
return new RestResult<>(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, msg, null);
}
/* 构造方法 */
public RestResult(Integer code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public RestResult(Integer code, String msg) {
this(code, msg, null);
}
/* Getter */
public Integer getCode() {
return code;
}
public String getMsg() {
return msg;
}
public T getData() {
return data;
}
public LocalDateTime getTimestamp() {
return timestamp;
}
@Override
public String toString() {
return "Result{" +
"code=" + code +
", msg='" + msg + '\'' +
", data=" + data +
", timestamp=" + timestamp +
'}';
}
}