ResponseData.java 1.62 KB
package com.meishu.common;

import com.meishu.common.configure.RemoteProperties;
import lombok.Data;
import org.springframework.boot.context.properties.EnableConfigurationProperties;

/**
 * 返回数据
 *
 * @author DengMin
 * @date 2019/08/27 13:57
 **/
@Data
@EnableConfigurationProperties(RemoteProperties.class)
public class ResponseData {

    public static <T> ResponseVO<T> generateCreatedResponse(int code) {
        return (ResponseVO<T>) ResponseVO.builder()
                .code(code)
                .message(RemoteProperties.getMessage(code))
                .build();
    }

    public static <T> ResponseVO<T> generateCreatedResponse(int code, String message) {
        return (ResponseVO<T>) ResponseVO.builder()
                .code(code)
                .message(message)
                .build();
    }

    public static <T> ResponseVO<T> generateCreatedResponse(int code, T data) {
        return (ResponseVO<T>) ResponseVO.builder()
                .code(code)
                .message(RemoteProperties.getMessage(code))
                .data(data)
                .build();
    }

    public static <T> ResponseVO<T> generateCreatedResponse(int code, String message, T data) {
        return (ResponseVO<T>) ResponseVO.builder()
                .code(code)
                .message(message)
                .data(data)
                .build();
    }

    public static <T> ResponseVO<T> generateCreatedResponse(int code, String message, String path) {
        return (ResponseVO<T>) ResponseVO.builder()
                .code(code)
                .message(message)
                .path(path)
                .build();
    }
}