【状态码说明】HTTP状态码 、HTTP在线工具

【完成源码案例】github地址

创建响应状态码和说明枚举类

/**
 * 响应状态码和说明
 */
public enum CodeEnum {
    SUCCESS(0, "成功!"),
    FAIL(1, "失败,未知错误!"),;

    /**
     * 响应状态码
     */
    private final int code;

    /**
     * 响应提示
     */
    private final String msg;

    CodeEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}

基本响应封装

/**
 * 基本响应封装
 */
public class BaseResponse {

	/**
	 * 响应码
	 */
	private int code;

	/**
	 * 响应消息
	 */
	private String msg;

	protected BaseResponse() {}

	protected BaseResponse(CodeEnum code) {
    	this.code = code.getCode();
    	this.msg = code.getMsg();
    }

    public static BaseResponse out(CodeEnum code) {
    	return new BaseResponse(code);
    }

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
}

响应数据结构封装

/**
 * 响应数据结构封装
 */
public class ResponseData<T> extends BaseResponse {

	private T data;

	private ResponseData() {}

	private ResponseData(CodeEnum code, T data) {
		super(code);
		this.data = data;
	}
	
	public static <T> ResponseData<T> out(CodeEnum code, T data) {
		return new ResponseData<T>(code, data);
	}

	public T getData() {
		return data;
	}

	public void setData(T data) {
		this.data = data;
	}

}

测试

public static void main(String[] args) {
    BaseResponse out = BaseResponse.out(CodeEnum.SUCCESS);
    System.out.println("基本响应封装:\n" + JSON.toJSONString(out));
    List<String> list = new LinkedList<>();
    list.add(UUID.randomUUID().toString());
    ResponseData<List<String>> data = ResponseData.out(CodeEnum.FAIL, list);
    System.out.println("响应数据结构封装:\n" + JSON.toJSONString(data));
}

打印结果:

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐