我有一个带有一个端点的RestController。该端点接受数据类的对象。数据类具有2个属性。如何确保这些属性经过验证?
我的数据类:
data class FormObject(val email: String, val age: Int)
和控制器:
@PostMapping("submit")
fun submit(@RequestBody formObject: FormObject): FormObject {
return formObject
}
如何确定电子邮件是电子邮件且年龄不大于150?谢谢,
您可以为此使用Bean验证框架。
1)将请求对象注释为需要验证的内容:
fun submit(@Valid @RequestBody formObject: FormObject): FormObject
^^^^^^
2)使用适当的验证注释来注释数据类的字段:
data class FormObject(
@field:NotBlank
val email: String,
@field:Min(1)
@field:Max(150)
val age: Int
)
请注意,您必须将注释应用到field
(而不是参数),否则验证将不会按照我们想要的方式进行。另外,如果我们将其定义age
为Int
,0
则在调用方未发送默认值()的情况下,它将具有默认值(),因此我对此应用了最小验证以抵消该错误(假设年龄0不好,YMMV)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句