TSOA在swagger.json文件中生成Typescript Pick、Partial和Omit模式

vzgqcmou  于 2023-08-05  发布在  TypeScript
关注(0)|答案(1)|浏览(153)

我一直在关注“入门”guide from TSOA,用typescript设置一个新的express项目,添加一个nodemon配置和swagger文档。在完成第三步“Live reloading”之后,结果应该是swagger和两个模式中的GET和POST路由:UserUserCreationParams中的至少一个。
我得到了相同的结果,只是它生成了第三个模式Pick_User.email-or-name-or-phoneNumbers_。如果我创建更多的路由和接口,并使用PickPartialOmit创建额外的类型,它们都会被提取并添加到模式中。
我正在寻找一种方法来忽略这些“肮脏”的模式


的数据

ubby3x7f

ubby3x7f1#

了解如何声明这些接口将很有用。
我正在解决这个问题,方法是声明 * 命名良好的 * 空接口作为swagger文档的别名,如下所示……

/* eslint-disable-next-line @typescript-eslint/no-empty-interface */
export interface UserCreationParams extends Pick<User, 'email'|'name'|'phoneNumbers'> {}

字符串
UserCreationParams的定义出现在文档中,而不是从Pick/Omit泛型自动生成的丑陋定义。
我们的默认linter设置会抱怨空接口--所以我已经为所有定义暴露给swagger文档的接口的文件禁用了该规则。

相关问题