本文主要是介绍@Valid的校验范围,只能校验一层,若包含子类,则子类属性不会被校验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
@Valid的校验范围,只能校验一层,若包含子类,则子类属性不会被校验public ApiResultDto<List<UUID>> batchAdd(@RequestBody @Valid ResourceBatchSaveDto req) {return dtResourceService.batchSaveResource(req);
}此时@Valid只会校验ResourceBatchSaveDto成员变量,但是如果还包含子类,则子类属性不会被校验,比如
public class ResourceBatchSaveDto {/*** 所属资源包id.*/@NotNullprivate UUID assetPackageId; // 会被校验* 批量上传资源项.*/@Schema(description = "批量上传资源项", name = "resourceSaveDtos")@OperationLog// @Validprivate List<ResourceSaveDto> resourceSaveDtos; // ResourceSaveDto里的成员变量不会被校验,除非也加上@Valid
}public class ResourceSaveDto {/*** 所属资源包id.*/@Schema(description = "所属资源包id,默认为通用资源包")private UUID assetPackageId;/*** 所属资源包名称.*/@Schema(description = "资源包")@OperationLogprivate String assetPackageName;
}
这篇关于@Valid的校验范围,只能校验一层,若包含子类,则子类属性不会被校验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!