原始result
是利用构造方法进行新建对象 controller里边的每个方法返回都会新建对象不太好
statue code 没有数据查询 正确或者空的时候是200
报错或者什么的 都不是 根据错误 返回对应的状态码
是否所有不成功 都会报错???????
data 没有值时 返回空""
如果是list返回空的[]
不应该是null
log.error("错误消息:{}",e.getMessage(),e);
e.getMessage() 可以返回message 中code http 通信状态(200)
status (当前请求预期的结果是否正确 比如删除 增加)-success可以是boolean或者str (error)
message (提示的消息)
data (数据对象)(查询不到获取没有返回空)package com.eagle.monitor.reportForms.surplus.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* @Author LiGuangLong
* @Date 2021-11-16 9:58
* @Version 1.0
* 返回数据包装类
**/
@Getter
@Setter
@ToString
public class ResultObj<T> {
private boolean status;
private Integer code;
private String message;
@JsonInclude(JsonInclude.Include.NON_NULL)
private Long total;
private T data;
/**
* 普通查询数据
*/
public ResultObj(T data) {
System.out.println(data);
if (data==null){
this.data = (T) "";
}else {
this.data = data;
}
this.code = 200;
this.message = "操作成功";
this.status = true;
}
/**
* 普通查询数据(分页)
*/
public ResultObj(T data,Long total) {
this.data = data;
this.code = 200;
this.message = "操作成功";
this.status = true;
this.total = total;
}
/**
* 对于一些 增删改 返回数据定义
*/
public ResultObj(boolean bool) {
if (bool){
this.message = "操作成功";
}else {
this.message = "操作失败";
}
this.code = 200;
this.status = bool;
}
/**
* 对于一些 增删改 返回数据定义
*/
public ResultObj(boolean bool,String message) {
this.status = bool;
this.code = 200;
this.message = message;
}
}package com.eagle.opd.comm;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
/**
* Result: 响应前端数据对象
*
* @param <T>
* @author wzhz
* @version v1.0.0
* @class: Result
* @package: com.eagle.cloud.commons
* @description: Result: 响应前端数据对象
* @date 2019年6月28日 下午6:20:36
*/
@Data
@AllArgsConstructor
public class Result<T> implements Serializable {
/**
* @fields serialVersionUID : serialVersionUID
*/
private static final long serialVersionUID = -4655308746258244420L;
private T data;
private Integer code;
private Boolean status;
private String msg;
public Result() {
}
public Result(Integer code, String msg) {
this.code = code;
this.msg = msg;
this.status = 200 == code ? true : false;
}
public Result(CodeEnum codeEnum, T data) {
this.code = codeEnum.getCode();
this.msg = codeEnum.getMsg();
this.status = 200 == codeEnum.getCode() ? true : false;
this.data = data;
}
public Result(T data) {
this.code = CodeEnum.SUCCESS.getCode();
this.status = true;
this.msg = CodeEnum.SUCCESS.getMsg();
this.data = data;
}
public static Result success() {
return new Result(CodeEnum.SUCCESS);
}
public static Result success(Object data) {
return new Result(CodeEnum.SUCCESS, data);
}
//
// public static Result success(String msg) {
// return new Result(CodeEnum.SUCCESS.getCode(), msg);
// }
public static Result error() {
return new Result(CodeEnum._500_BUSINESS_ERROR);
}
public static Result error(String msg) {
return new Result(CodeEnum._999_UNKNOWN_ERROR.getCode(), msg);
}
public static Result error(CodeEnum codeEnum, String errorMsg) {
return new Result(codeEnum.getCode(), codeEnum.getMsg()+":" + errorMsg );
}
public static Result result(CodeEnum codeEnum) {
return result(codeEnum, null);
}
public static Result result(CodeEnum codeEnum, Object data) {
return new Result(codeEnum, data);
}
}package com.eagle.common.api;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
/**
* @author Erin
*/
@Data
public class ResponseDTO<T> {
private String status;
private Integer code;
private String message;
@JsonInclude(JsonInclude.Include.NON_NULL)
private Long total;
private T data;
/**
* 普通查询数据
* @param data boj
*/
public ResponseDTO(T data) {
this.data = data;
this.code = 200;
this.message = "成功";
this.status = "SUCCESS";
}
/**
* 分页的数据查询
* @param data dto
* @param total 总页码
*/
public ResponseDTO(T data,Long total) {
this.total = total;
this.data = data;
this.code = 200;
this.message = "成功";
this.status = "SUCCESS";
}
/**
* 对于一些查询 异常 返回空 不报错
* @param errorEnum
*/
public ResponseDTO(ErrorEnum errorEnum){
if (errorEnum == null){
//如果接收是null 返回空数据不报错
System.out.println("ResponseDTO 对象实例化参数为 null 默认返回空数据 不报错");
this.data = (T) "";
this.code = 200;
this.message = "成功";
this.status = "SUCCESS";
}else{
this.status = errorEnum.name();
this.code = errorEnum.getErrorCode();
this.message = errorEnum.getErrorMsg();
}
}
/**
* 对于一些 增删改 返回数据定义
* @param bool type
*/
public ResponseDTO(boolean bool) {
if (bool){
this.message = "操作成功";
}else {
this.message = "操作失败";
}
this.code = 200;
this.status = "SUCCESS";
}
/**
* 对于一些 增删改 返回数据定义
* @param bool type
* @param message 自定义的message
*/
public ResponseDTO(boolean bool,String message) {
if (bool){
this.status = "SUCCESS";
}else {
this.status = "error";
}
this.code = 200;
this.message = message;
}
public ResponseDTO(int code, String message){
this.status = "error";
this.code = code;
this.message = message;
}
public ResponseDTO(ErrorEnum errorEnum, String message){
this.status = errorEnum.name();
this.code = errorEnum.getErrorCode();
this.message = message;
}
public ResponseDTO(String status, int code, String message) {
this.status = status;
this.code = code;
this.message = message;
}
}若依这种形式好像对于swagger 的返回值 注解就失效了
package com.ruoyi.common.core.domain;
import java.util.HashMap;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.utils.StringUtils;
/**
* 操作消息提醒
*
* @author ruoyi
*/
public class AjaxResult extends HashMap<String, Object>
{
private static final long serialVersionUID = 1L;
/** 状态码 */
public static final String CODE_TAG = "code";
/** 返回内容 */
public static final String MSG_TAG = "msg";
/** 数据对象 */
public static final String DATA_TAG = "data";
/**
* 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。
*/
public AjaxResult()
{
}
/**
* 初始化一个新创建的 AjaxResult 对象
*
* @param code 状态码
* @param msg 返回内容
*/
public AjaxResult(int code, String msg)
{
super.put(CODE_TAG, code);
super.put(MSG_TAG, msg);
}
/**
* 初始化一个新创建的 AjaxResult 对象
*
* @param code 状态码
* @param msg 返回内容
* @param data 数据对象
*/
public AjaxResult(int code, String msg, Object data)
{
super.put(CODE_TAG, code);
super.put(MSG_TAG, msg);
if (StringUtils.isNotNull(data))
{
super.put(DATA_TAG, data);
}
}
/**
* 返回成功消息
*
* @return 成功消息
*/
public static AjaxResult success()
{
return AjaxResult.success("操作成功");
}
/**
* 返回成功数据
*
* @return 成功消息
*/
public static AjaxResult success(Object data)
{
return AjaxResult.success("操作成功", data);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @return 成功消息
*/
public static AjaxResult success(String msg)
{
return AjaxResult.success(msg, null);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 成功消息
*/
public static AjaxResult success(String msg, Object data)
{
return new AjaxResult(HttpStatus.SUCCESS, msg, data);
}
/**
* 返回错误消息
*
* @return
*/
public static AjaxResult error()
{
return AjaxResult.error("操作失败");
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static AjaxResult error(String msg)
{
return AjaxResult.error(msg, null);
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 警告消息
*/
public static AjaxResult error(String msg, Object data)
{
return new AjaxResult(HttpStatus.ERROR, msg, data);
}
/**
* 返回错误消息
*
* @param code 状态码
* @param msg 返回内容
* @return 警告消息
*/
public static AjaxResult error(int code, String msg)
{
return new AjaxResult(code, msg, null);
}
/**
* 方便链式调用
*
* @param key 键
* @param value 值
* @return 数据对象
*/
@Override
public AjaxResult put(String key, Object value)
{
super.put(key, value);
return this;
}
}
















