如何从OpenAPI生成带TypeSpec的 PowerShell模块?
我使用 autorest 通过OpenAPI生成PowerShell模块,但正如 微软宣布 该工具已被弃用,并由 TypeSpec 取代。
我找不到关于如何使用该工具从API生成PowerShell模块的文档。
解决方案
注:以下为基于仅查阅文档所得的有根据推测,仅作高层次概览:
-
TypeSpec 是一个不依赖任意协议的DSL,受TypeScript启发,用于(通常是Web服务)API设计。
-
因此,它对已经熟悉TypeScript / JavaScript以及Node.js/npm生态的开发者具有吸引力。
-
TypeSpec输出(编译为的结果),通过一个名为 emitters 的可扩展插件系统实现,是API的 规范 —— 例如以 OpenAPI 格式——而不是像PowerShell这样的 实现语言 的代码。
-
只有在生成的规范层面,才有 代码生成器 可用。
对PowerShell的要点是:
- 你需要学习TypeSpec的 DSL以设计你的API。
虽然现有的TypeScript知识是最便捷的入口,但因为DSL的范围和语法有限,从零开始也不需要太长时间。 - 一旦你将设计编译成某个规范,例如OpenAPI,就可以在其上使用PowerShell代码生成器,例如 OpenAPI PowerShell generator(注:截至本篇撰写时标记为beta)。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。