在一个项目开发的过程中,需要使用统一的返回封装对象。这样里面有统一的code, 和对应的message.既方便了后端,也方便前端。
1.代码:
public class FastResponse<T> implements Serializable {
@ApiModelProperty(value = "code编码")
private String code;
@ApiModelProperty(value = "返回信息")
private String message;
@ApiModelProperty(value = "返回数据")
private T data;
public boolean isSuccess() {
return ResponseEnum.OK.value().equals(this.code);
}
public static <T> FastResponse<T> success(T data) {
FastResponse<T> fastResponse = new FastResponse<>();
fastResponse.setData(data);
fastResponse.setCode(ResponseEnum.OK.value());
return fastResponse;
}
public static <T> FastResponse<T> success() {
FastResponse<T> fastResponse = new FastResponse<>();
fastResponse.setCode(ResponseEnum.OK.value());
fastResponse.setMessage(ResponseEnum.OK.getMsg());
return fastResponse;
}
public static <T> FastResponse<T> fail(ResponseEnum responseEnum) {
FastResponse<T> fastResponse = new FastResponse<>();
fastResponse.setMessage(responseEnum.getMsg());
fastResponse.setCode(responseEnum.value());
return fastResponse;
}
public static <T> FastResponse<T> fail(ResponseEnum responseEnum, T data) {
FastResponse<T> fastResponse = new FastResponse<>();
fastResponse.setMessage(responseEnum.getMsg());
fastResponse.setCode(responseEnum.value());
fastResponse.setData(data);
return fastResponse;
}
/**
* 前端显示失败消息
*
* @param msg 失败消息
* @return
*/
public static <T> FastResponse<T> showFailMsg(String msg) {
FastResponse<T> fastResponse = new FastResponse<>();
fastResponse.setMessage(msg);
fastResponse.setCode(ResponseEnum.SHOW_FAIL.value());
return fastResponse;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
然后再写代码的时候,调用合适的类方法即可。