这次分享的内容整合了之前分享的关于springboot国际化和sa-token的SaResult的重新封装的内容,如果有兴趣可以去看一下前面的内容,关于国际化和SaResult还有SaCode的代码在前面的内容里。
下面我们用一个注册的接口做测试写完成今天的分享内容,好了开始今天的代码时间:
一、先来写一个注册用户的实体类,注意在属性上方的校验注解如@NotBlank,@Length,@Pattern等,具体要怎么用要另外分享了,包括分组的用法,这里不多说了。
package com.chhuang.bean;
import com.chhuang.core.valid.ValidationGroups;
import com.chhuang.utils.string.RegexpUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
/**
* @ClassName RegeditBean
* @Description 用于注册用户实体类
* @Author Darren Huang
* @Date 2022/11/19 20:57
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "RegeditAccountBean实体类", description = "用于注册用户实体类")
public class RegeditAccountBean implements Serializable {
private static final long serialVersionUID = -6131278519375255021L;
/**
* 用户名
* public String register(@Validated(ValidationGroups.RegeditGroup.class) @RequestBody User user)
*/
@NotBlank(message = "{username.not_blank}", groups = ValidationGroups.RegeditGroup.class)
@Length(min = 1, max = 16, message = "{username.over_max_len}", groups = ValidationGroups.RegeditGroup.class)
@ApiModelProperty(value = "用户名", required = true)
private String username;
/**
* 密码
*/
@NotBlank(message = "{password.not_blank}", groups = ValidationGroups.RegeditGroup.class)
@Pattern(regexp=RegexpUtils.
SpringBoot全局异常处理与SaToken业务异常

本文介绍了如何在SpringBoot中实现全局异常处理,包括SaToken权限验证异常、参数校验异常和自定义业务异常的处理。通过创建全局异常处理器`GlobalExceptionHandler`,将不同类型的异常转换为统一的响应格式。同时展示了用户注册实体类`RegeditAccountBean`的校验规则,并定义了自定义业务异常`SaException`。整个流程确保了统一的错误反馈和良好的异常管理。
最低0.47元/天 解锁文章
2793

被折叠的 条评论
为什么被折叠?



