码迷,mamicode.com
首页 > 其他好文 > 详细

高复用性响应对象类

时间:2018-12-11 21:41:31      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:not   serve   response   status   序列   boolean   tco   mes   col   

ServerResponse响应类:
import com.cxsz.ibosspro.common.constant.ResultCode;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

//保证序列化的时候,如果为null,key也会消失
@JsonInclude(JsonInclude.Include.NON_NULL)
@Getter
@Setter
public class ServerResponse<T> implements Serializable {
    private int status;
    private String msg;
    private T data;

    public ServerResponse() {
    }

    public ServerResponse(int status){
        this.status = status;
    }
    public ServerResponse(int status, String msg){
        this.status = status;
        this.msg = msg;
    }
    public ServerResponse(int status, T data){
        this.status = status;
        this.data = data;
    }
    public ServerResponse(int status, String msg, T data){
        this.status = status;
        this.msg = msg;
        this.data = data;
    }

    //使之不在json序列化结果当中
    @JsonIgnore
    public boolean isSuccess(){
        return this.status == ResultCode.SUCCESS;
    }
    public int getStatus(){
        return status;
    }
    public T getData(){
        return data;
    }
    public String getMsg(){
        return msg;
    }

    public static <T> ServerResponse<T> createBySuccess(){
        return new ServerResponse<T>(ResultCode.SUCCESS);
    }
    public static <T> ServerResponse<T> createBySuccessMassage(String msg){
        return new ServerResponse<T>(ResultCode.SUCCESS, msg);
    }
    public static <T> ServerResponse<T> createBySuccess(T data){
        return new ServerResponse<T>(ResultCode.SUCCESS, data);
    }
    public static <T> ServerResponse<T> createBySuccess(String msg, T data){
        return new ServerResponse<T>(ResultCode.SUCCESS, msg, data);
    }
    public static <T> ServerResponse<T> createByError(){
        return new ServerResponse<T>(ResultCode.FAIL);
    }
    public static <T> ServerResponse<T> createByError(String msg){
        return new ServerResponse<T>(ResultCode.FAIL, msg);
    }
    public static <T> ServerResponse<T> createByErrorCodeMessage(int errorcode, String msg){
        return new ServerResponse<T>(errorcode, msg);
    }
}

 

常量类:
/**
 * HTTP请求返回状态码
 *
 * @author xxxx
 */
public class ResultCode {

    /**
     * 成功
     */
    public static final int SUCCESS = 0;

    /**
     * 失败
     */
    public static final int FAIL = -1;

    /**
     * 无权限
     */
    public static final int NO_AUTH = -2;
}

 













高复用性响应对象类

标签:not   serve   response   status   序列   boolean   tco   mes   col   

原文地址:https://www.cnblogs.com/zhangbLearn/p/10105000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!