@Data  
public class Response<T> implements Serializable {  
  
    // 是否成功,默认为 true    private boolean success = true;  
    // 响应消息  
    private String message;  
    // 异常码  
    private String errorCode;  
    // 响应数据  
    private T data;  
  
    // =================================== 成功响应 ===================================
        public static <T> Response<T> success() {  
        Response<T> response = new Response<>();  
        return response;  
    }  
    public static <T> Response<T> success(T data) {  
        Response<T> response = new Response<>();  
        response.setData(data);  
        return response;  
    }  
    // =================================== 失败响应 ===================================    public static <T> Response<T> fail() {  
        Response<T> response = new Response<>();  
        response.setSuccess(false);  
        return response;  
    }  
    public static <T> Response<T> fail(String errorMessage) {  
        Response<T> response = new Response<>();  
        response.setSuccess(false);  
        response.setMessage(errorMessage);  
        return response;  
    }  
    public static <T> Response<T> fail(String errorCode, String errorMessage) {  
        Response<T> response = new Response<>();  
        response.setSuccess(false);  
        response.setErrorCode(errorCode);  
        response.setMessage(errorMessage);  
        return response;  
    }
}

使用样例

	@PostMapping("/test")
    @ApiOperationLog(description = "测试接口")
    public Response test(@RequestBody @Validated User user, BindingResult bindingResult) {
        // 是否存在校验错误
        if (bindingResult.hasErrors()) {
            // 获取校验不通过字段的提示信息
            String errorMsg = bindingResult.getFieldErrors()
                    .stream()
                    .map(FieldError::getDefaultMessage)
                    .collect(Collectors.joining(", "));
 
            return Response.fail(errorMsg);
        }
 
        // 返参
        return Response.success();
    }