SpringBoot项目(24)---服务器数据校验之自定义错误提示信息

时间:2025-03-12 09:23:22
SpringBoot项目(24)—服务器数据校验之自定义错误提示信息

方式一:直接在注解里定义提示信息

通过注解的message来设置提示信息,提示信息以自己定义的为主,不再用默认的提示信息了

@NotNull(message = "用户ID不能为空")
private Integer userid;
@NotBlank(message = "用户姓名不能为空")
private String username;
@NotBlank(message = "用户性别不能为空")
private String usersex;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z1aX2MFO-1591058335731)(E:\李小兔的Java总结\(24)-运行结果一.png)]

缺点:硬编码,一旦提示信息改变就需要修改代码里的信息

方式二:在配置文件中定义配置信息

在/resources目录下新建配置文件,配置文件名必须为

格式为 key = value

 = 用户ID不能为空
 = 用户姓名不能为空
 = 用户性别不能为空
  • 1
  • 2
  • 3

修改实体类:

在message里用{}表示去文件中根据key去取value,这里没有$符号

@NotNull(message = "{}")
private Integer userid;

@NotBlank(message = "{}")
private String username;

@NotBlank(message = "{}")
private String usersex;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CJw79NdF-1591058335733)(E:\李小兔的Java总结\(24)-运行结果二.png)]

会发现是乱码??这是因为.properties文件中采用的是iso编码格式,这种编码格式是不支持汉字的,所以要把提示信息中的中文转换为Unicode编码

通过在cmd窗口里找到jdk的安装目录,进入bin目录,直接在cmd里运行文件,然后在cmd里输入需要转换的中文,回车就得到对应的acsii编码

把编码复制到项目里的文件中

 = \u7528\u6237id\u4e0d\u80fd\u4e3a\u7a7a
 = \u7528\u6237name\u4e0d\u80fd\u4e3a\u7a7a
 = \u7528\u6237sex\u4e0d\u80fd\u4e3a\u7a7a
  • 1
  • 2
  • 3

运行结果:

notnull = \u7528\u6237sex\u4e0d\u80fd\u4e3a\u7a7a


运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ruFMlwNs-1591058335734)(E:\李小兔的Java总结\(24)-运行结果)]
  • 1
  • 2
  • 3
  • 4