Files
blog-backEnd/src/main/java/cn/celess/blog/entity/Response.java
2020-08-15 14:59:45 +08:00

66 lines
1.5 KiB
Java

package cn.celess.blog.entity;
import cn.celess.blog.enmu.ResponseEnum;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Data;
import lombok.SneakyThrows;
import java.io.Serializable;
/**
* @author : xiaohai
* @date : 2019/03/28 15:24
*/
@Data
public class Response<T> implements Serializable {
private int code;
private String msg;
private T result;
public Response() {
}
public Response(int code, String msg, T result) {
this.code = code;
this.msg = msg;
this.result = result;
}
/**
* 成功相应
*
* @param result 结果
* @return Response
*/
public static Response success(Object result) {
return new Response(ResponseEnum.SUCCESS.getCode(), ResponseEnum.SUCCESS.getMsg(), result);
}
/**
* 失败的响应
*
* @param result 结果
* @return Response
*/
public static Response failure(String result) {
return new Response(ResponseEnum.FAILURE.getCode(), ResponseEnum.FAILURE.getMsg(), result);
}
/**
* 其他的响应
*
* @param r 枚举常量
* @param result 结果
* @return Response
*/
public static Response response(ResponseEnum r, String result) {
return new Response(r.getCode(), r.getMsg(), result);
}
@SneakyThrows
@Override
public String toString() {
return new ObjectMapper().writeValueAsString(this);
}
}