如何为Smithy中的CarsList列表添加非空约束?
如何为Smithy的CarsList列表添加非空约束?
你之前给Car结构体的Name字段加@required、给CarName字符串加@length(min:1),这些约束是用来保证列表单个元素的合法性,和列表本身是否为空没有关系。要实现列表不能为空的要求,你需要给CarsList列表添加@minItems trait,指定最小元素数量为1。
修改后的代码如下:
@minItems(1) list CarsList { member: Car } struct Car { @required Name: CarName } @length(min: 1) string CarName
@minItems(1)会强制要求CarsList必须包含至少一个Car实例,直接限制了列表的长度不能为0。你之前保留的那些约束依然有效,用来确保每个Car都有符合要求的Name字段,现在两者结合就能同时满足元素合法和列表非空的需求。
内容的提问来源于stack exchange,提问作者Hrishikesh Pawar
相关产品推荐
相关产品推荐

