首页 > 解决方案 > 有没有一种更聪明的方法可以在一个枚举(在 YAML 文件中)中包含从 A 到 Z 的所有字符,而不必显式地编写所有字符?

问题描述

我想避免以下情况:

query.skillLevel:
name: skillLevel
in: query
description: Skill level, A-Z.
type: string
enum:
 - A
 - B
 - C
 ....
 - Z

有什么办法可以让我只提到 A..Z,它包括介于两者之间的字符吗?

标签: enumsyaml

解决方案


在普通的 YAML 中,没有办法做这样的事情。

但是,如果您可以使用标签并控制加载序列的程序,您可以执行以下操作:

query.skillLevel:
name: skillLevel
in: query
description: Skill level, A-Z.
type: string
enum: !Range [A, Z]

然后让为标签创建的对象!Range表现得像一个指定所有元素的序列。

尽管您有密钥enum,但 YAML 文件中没有枚举。只有映射、列表和标量。


推荐阅读