package com.cloudroam.vo; import io.github.talelin.autoconfigure.bean.Code; import io.github.talelin.autoconfigure.util.RequestUtil; import com.cloudroam.common.util.ResponseUtil; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import org.springframework.http.HttpStatus; /** * 统一API响应结果封装视图对象 * * @author * @author * @author */ @Data @Builder @AllArgsConstructor public class UnifyResponseVO { private Integer code; private T message; private String request; public UnifyResponseVO() { this.code = Code.SUCCESS.getCode(); this.request = RequestUtil.getSimpleRequest(); } public UnifyResponseVO(int code) { this.code = code; this.request = RequestUtil.getSimpleRequest(); } public UnifyResponseVO(T message) { this.code = Code.SUCCESS.getCode(); this.message = message; this.request = RequestUtil.getSimpleRequest(); } public UnifyResponseVO(int code, T message) { this.code = code; this.message = message; this.request = RequestUtil.getSimpleRequest(); } public UnifyResponseVO(T message, HttpStatus httpStatus) { this.code = Code.SUCCESS.getCode(); this.message = message; this.request = RequestUtil.getSimpleRequest(); ResponseUtil.setCurrentResponseHttpStatus(httpStatus.value()); } public UnifyResponseVO(int code, T message, HttpStatus httpStatus) { this.code = code; this.message = message; this.request = RequestUtil.getSimpleRequest(); ResponseUtil.setCurrentResponseHttpStatus(httpStatus.value()); } }