是否有任何方法可以为WebApi方法自动生成OpenAPI / Swagger元数据,甚至可以生成客户端打字稿模型?
我发现Swashbuckle和Swagger to JS & Typescript Codegen很不错,但我想知道找出其他的库。
如果你能给出每种方法的利弊,那将是完美的。
答案 0 :(得分:3)
您还可以查看NSwag,一个用于.NET和TypeScript的Swagger工具链。
该工具根据这些Swagger规范从现有Web API控制器和客户端代码生成Swagger规范。您可以使用Callbacks或Promises,AngularJS或Angular2为JQuery生成TypeScript客户端代码。生成的DTO(请求/响应类型)可以是接口或类(具有日期转换,较低的驼峰套管等)。
该项目可以与简单易用的桌面GUI,构建脚本或命令行工具一起使用。
免责声明:我是NSwag的贡献者之一。
答案 1 :(得分:2)
请尝试Swagger-Codegen,这是一个免费的开源代码生成器,可根据OpenAPI / Swagger规范生成REST API客户端(例如C#,TypeScript,Javascript等)或服务器存根(ASP.NET5)
这是一个很好的起点:https://github.com/swagger-api/swagger-codegen#getting-started
对于typescript
,Swagger Codegen支持不同的库:typescript-node
,typescript-angular
,typescript-angular2
和typescript-fetch
答案 2 :(得分:0)
我正在构建一个基于asp.net webapi项目生成打字稿模型和服务的工具。
我的目的是支持Aspnet classic和Aspnet核心webapis。 您可以在生成的typescript服务中选择angular(4.3.0 +),jquery和fetch。
仍处于初步版本,但我在几个项目中使用没有任何问题:https://guimabdo.github.io/WebTyped/
答案 3 :(得分:0)
最终,您需要TypeScript模型,而不是Swagger元数据。与SDLC期间的摇摇欲坠的工具链相比,ASP.NET Web API Client Generators可能更方便,开销更少。
尽管程序员通常使用WebApiClientGen生成客户端API代码,但该项目还提供POCO2TS.exe,这是一个命令行程序,可以从POCO类生成TypsScript接口。您可以使用Poco2ts.exe或poco2ts组件将代码生成与构建管道集成在一起。