要根据不同的条件显示不同的消息,可以使用SpEL表达式在ApiModelProperty注解中定义条件消息。例如,可以使用以下示例来指定最小长度和最大长度的条件消息:
@ApiModelProperty(value = "用户名", required = true, example = "JohnDoe", allowableValues = "range[1,10]", position = 1)
@Size(min = 1, max = 10, message = "用户名长度必须在${min}到${max}之间")
private String username;
在这个例子中,如果设置了一个小于1或大于10的值作为用户名,将显示错误消息“用户名长度必须在1到10之间”。
可以在SpEL表达式中使用多个条件来显示不同的消息。例如,可以使用以下示例指定属性值为null的条件消息:
@ApiModelProperty(value = "电子邮件地址", example = "john.doe@example.com", allowableValues = Patterns.EMAIL_PATTERN, position = 3)
@Email(regexp = Patterns.EMAIL_PATTERN, message = "无效的电子邮件地址")
@NotBlank(message = "{email.notBlank}")
private String email;
在这个例子中,如果email属性的值为null,则显示消息“电子邮件不能为空”,如果email属性的值不符合EMAIL_PATTERN,则显示消息“无效的电子邮件地址”。
使用SpEL表达式可以在ApiModelProperty注解中实现更高级的条件消息。
下一篇:API默认异步吗?