@RequestBody 和@Valid 未验证 kotlin 对象中的 empty/blank 字符串字段
@RequestBody and @Valid not validating empty/blank string field in kotlin object
我的请求被解析为 Kotlin 对象,该对象是控制器中的请求主体。目前,如果字段为空 - 将抛出验证异常,这正是我想要的。
但是,我使用的是@NotBlank,这似乎无法验证它针对“”或“”的意图。我错过了什么?
@NotEmpty 也不检查“”。他们似乎都只是检查 null,这只是我正在寻找的一部分。
本质上,我正在寻找不为空的请求、不为空的列表字段、不为空的列表中的内部 BumblebeeEvent 以及要验证其字段的每个事件(例如,不为空,“ " 或 " ").
这是我的控制器:
@Controller
class BumblebeeEventController {
@PostMapping("/publish")
fun eventIntake(@RequestBody @Valid payload: BumblebeeEventList) : ResponseEntity<String>{
return ResponseEntity("Published ${eventList.size} event(s) successfully",HttpStatus.OK)
}
}
class Event(@NotBlank val localTime: String){}
class BumblebeeEvent(@NotNull val event: Event)
class BumblebeeEventList(@NotNull val events: List<BumblebeeEvent>){}
提前致谢
试试
class Event(@NotBlank val localTime: String){}
class BumblebeeEvent(@NotNull @Valid val event: Event)
class BumblebeeEventList(@NotNull @Valid val events: List<BumblebeeEvent>){}
您必须指明验证也必须在嵌套对象中进行
我的请求被解析为 Kotlin 对象,该对象是控制器中的请求主体。目前,如果字段为空 - 将抛出验证异常,这正是我想要的。
但是,我使用的是@NotBlank,这似乎无法验证它针对“”或“”的意图。我错过了什么?
@NotEmpty 也不检查“”。他们似乎都只是检查 null,这只是我正在寻找的一部分。
本质上,我正在寻找不为空的请求、不为空的列表字段、不为空的列表中的内部 BumblebeeEvent 以及要验证其字段的每个事件(例如,不为空,“ " 或 " ").
这是我的控制器:
@Controller
class BumblebeeEventController {
@PostMapping("/publish")
fun eventIntake(@RequestBody @Valid payload: BumblebeeEventList) : ResponseEntity<String>{
return ResponseEntity("Published ${eventList.size} event(s) successfully",HttpStatus.OK)
}
}
class Event(@NotBlank val localTime: String){}
class BumblebeeEvent(@NotNull val event: Event)
class BumblebeeEventList(@NotNull val events: List<BumblebeeEvent>){}
提前致谢
试试
class Event(@NotBlank val localTime: String){}
class BumblebeeEvent(@NotNull @Valid val event: Event)
class BumblebeeEventList(@NotNull @Valid val events: List<BumblebeeEvent>){}
您必须指明验证也必须在嵌套对象中进行