*/
@Data
public class ApiResponse<T> {
private Boolean success ;
private Integer code ;
private String codeMessage;
private T data;
private Map<String,String> errorMessage;
public static ApiResponse success(){
ApiResponse apiResponse = new ApiResponse();
apiResponse.setSuccess(true);
apiResponse.setCode(ResponseCodeEnum.SUCCESS.getCode());
apiResponse.setCodeMessage(ResponseCodeEnum.SUCCESS.getMessage());
return apiResponse;
}
public static <T> ApiResponse success(T data){
ApiResponse apiResponse = new ApiResponse();
apiResponse.setSuccess(true);
apiResponse.setCode(ResponseCodeEnum.SUCCESS.getCode());
apiResponse.setCodeMessage(ResponseCodeEnum.SUCCESS.getMessage());
apiResponse.setData(data);
return apiResponse;
}
public static ApiResponse fail(){
ApiResponse apiResponse = new ApiResponse();
apiResponse.setSuccess(false);
apiResponse.setCode(ResponseCodeEnum.SERVICE_ERROR.getCode());
apiResponse.setCodeMessage(ResponseCodeEnum.SERVICE_ERROR.getMessage());
return apiResponse;
}
public static <T> ApiResponse<T> fail(String error) {
Map<String, String> errors = new HashMap<>();
errors.put(error, error);
return fail(errors);
}
public static <T> ApiResponse fail(T data){
ApiResponse apiResponse = new ApiResponse();
apiResponse.setSuccess(false);
apiResponse.setCode(ResponseCodeEnum.SERVICE_ERROR.getCode());
apiResponse.setCodeMessage(ResponseCodeEnum.SERVICE_ERROR.getMessage());
apiResponse.setData(data);
return apiResponse;
}
public static <T> ApiResponse<T> fail(Map<String, String> errors) {
ApiResponse<T> response = new ApiResponse<>();
response.setData(null);
response.setCode(ResponseCodeEnum.SERVICE_ERROR.getCode());
response.setCodeMessage(ResponseCodeEnum.SERVICE_ERROR.getMessage());
response.setErrorMessage(errors);
response.setSuccess(false);
return response;
}
public ApiResponse<T> fail(String msg, T data) {
this.setData(data);
this.setSuccess(false);
this.setCode(ResponseCodeEnum.SERVICE_ERROR.getCode());
this.setCodeMessage(ResponseCodeEnum.SERVICE_ERROR.getMessage());
return this;
}
public ApiResponse<T> fail(Integer code, Map<String,String> errorMessage){
this.setSuccess(false);
this.setCode(code);
this.setErrorMessage(errorMessage);
this.setData(data);
return this;
}
}