使用 NSwag 生成多个 Typescript 文件

Generating Multiple Typescript Files with NSwag

我刚刚开始研究使用 NSwag 为 WebAPI 项目自动生成打字稿客户端。我天真地开始了这个简单的构建步骤:

nswag webapi2swagger /assembly:bin\MyProject.WebAPI.dll /output:Swagger.json
nswag swagger2tsclient /input:Swagger.json /output:WebAPIs.ts

这很好用...也许太棒了。我现在有一个 17000 行的打字稿文件,其中包含 API.

中每个端点的客户端

我知道我可以为 nswag 指定单独的 类 或控制器来生成,但我希望它在我们继续构建系统时对于新控制器是自动的。理想情况下,我可能最好使用一组打字稿文件,其中每个文件代表一个控制器。

有谁知道我如何使用命令行工具以这种方式分解输出?

我认为当前的 CLI 工具无法做到这一点,因此我编写了一个小型控制台应用程序,它使用反射从 webapi 程序集收集控制器,然后分别为每个控制器调用 WebApiToSwaggerGenerator 和 SwaggerToTypeScriptClientGenerator。