我曾经在 Spring 的@RestController
中验证我的bean,例如:
@PostMapping("/documents")
@ResponseStatus(HttpStatus.CREATED)
fun create(@Valid @RequestBody document: DocumentCreate) {
return documentService.create(document)
}
即使看起来很愚蠢,我现在也想根据
DocumentCreate
bool(boolean) 属性来验证我的bean,例如:@PostMapping("/documents")
@ResponseStatus(HttpStatus.CREATED)
fun create(@RequestBody document: DocumentCreate) {
return when {
document.needValidation -> documentService.createWithValidation(document),
else -> documentService.createWithoutValidation(document)
}
}
我尝试将
@Valid
批注移动到文档@Service
类,但它不会触发验证。我该如何实现?可能吗? 最佳答案
对于任何想知道如何使用注解的人。用spring的@Validated注释您的服务类。完成后,它将在用@Valid装饰的服务类方法中触发输入bean的验证。