我们正在使用Fastify开发后端,使用Typebox声明模式并使用Fastify Swagger生成 OpenApi 定义 我们在生成文档期间遇到了一些枚举或类似问题
假设我们以下列方式之一声明一个类型框枚举器
export const ProviderType = Type.Union([
Type.Literal("sms"),
Type.Literal("email"),
]);
//OR
enum Providers {
SMS = "sms",
EMAIL = "email",
}
export const ProviderType = Type.Enum(Providers);
当生成开放 API 文档时,我们得到这个
- schema:
anyOf:
- type: string
enum:
- sms
- type: string
enum:
- email
这不是我们所期望的,而是
schema:
type: string
enum: [sms, email]
否则,各个包将无法正确呈现使用枚举的地方。
你已经遇到过这个问题了吗?