@requestbody和@valid未验证kotlin对象中的空/空字符串字段

41zrol4v  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(437)

我的请求被解析为kotlin对象,它是控制器中的请求主体。当前,如果字段为空-将引发一个验证异常,这正是我想要的。
但是,我正在使用@notblank,这似乎无法验证它与“”或“”对应的方式。我错过了什么?
@notempty也不检查“”。它们似乎都只是检查null,这只是我要找的部分内容。
本质上,我希望请求不为null,列表字段不为null,列表中的内部bumblebeeevent不为null,并且每个事件都要验证其字段(例如not null,“”或“”)。
这是我的控制器:

@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>){}

提前谢谢

mec1mxoz

mec1mxoz1#

尝试

class Event(@NotBlank val localTime: String){}

class BumblebeeEvent(@NotNull @Valid val event: Event)

class BumblebeeEventList(@NotNull @Valid val events: List<BumblebeeEvent>){}

必须指明验证也必须在嵌套对象中进行

相关问题