文章目录
- 1. 返回结果封装
- 2. 自定义异常
- 3. 校验工具类
- 4. 使用案例
- 5. 前端效果图
1. 返回结果封装
package com.course.server.dto;public class ResponseDto<T> {/*** 业务上的成功或失败*/private boolean success = true;/*** 返回码*/private String code;/*** 返回信息*/private String message;/*** 返回泛型数据,自定义类型*/private T content;public String getCode() {return code;}public void setCode(String code) {this.code = code;}public boolean getSuccess() {return success;}public void setSuccess(boolean success) {this.success = success;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public T getContent() {return content;}public void setContent(T content) {this.content = content;}@Overridepublic String toString() {final StringBuffer sb = new StringBuffer("ResponseDto{");sb.append("success=").append(success);sb.append(", code='").append(code).append('\'');sb.append(", message='").append(message).append('\'');sb.append(", content=").append(content);sb.append('}');return sb.toString();}
}
2. 自定义异常
package com.course.server.exception;public class ValidatorException extends RuntimeException {public ValidatorException(String message) {super(message);}
}
3. 校验工具类
package com.course.server.util;import com.course.server.exception.ValidatorException;
import org.springframework.util.StringUtils;public class ValidatorUtil {/*** 空校验(null or "")*/public static void require(Object str, String fieldName) {if (StringUtils.isEmpty(str)) {throw new ValidatorException(fieldName + "不能为空");}}/*** 长度校验*/public static void length(String str, String fieldName, int min, int max) {if (StringUtils.isEmpty(str)) {return;}int length = 0;if (!StringUtils.isEmpty(str)) {length = str.length();}if (length < min || length > max) {throw new ValidatorException(fieldName + "长度" + min + "~" + max + "位");}}}
4. 使用案例
@PostMapping("/save")public ResponseDto save(@RequestBody ChapterDto chapterDto) {// 保存校验ValidatorUtil.require(chapterDto.getName(), "名称");ValidatorUtil.require(chapterDto.getCourseId(), "课程ID");ValidatorUtil.length(chapterDto.getCourseId(), "课程ID", 1, 8);ResponseDto responseDto = new ResponseDto();chapterService.save(chapterDto);responseDto.setContent(chapterDto);return responseDto;}
5. 前端效果图