使用TypeScript和ASP.Net WebApi完全输入

时间:2016-06-01 09:07:16

标签: .net asp.net-web-api typescript swagger

是否有任何方法可以为WebApi方法自动生成OpenAPI / Swagger元数据,甚至可以生成客户端打字稿模型?

我发现SwashbuckleSwagger to JS & Typescript Codegen很不错,但我想知道找出其他的库。

如果你能给出每种方法的利弊,那将是完美的。

4 个答案:

答案 0 :(得分:3)

您还可以查看NSwag,一个用于.NET和TypeScript的Swagger工具链。

该工具根据这些Swagger规范从现有Web API控制器和客户端代码生成Swagger规范。您可以使用Callbacks或Promises,AngularJS或Angular2为JQuery生成TypeScript客户端代码。生成的DTO(请求/响应类型)可以是接口或类(具有日期转换,较低的驼峰套管等)。

该项目可以与简单易用的桌面GUI,构建脚本或命令行工具一起使用。

enter image description here

免责声明:我是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-nodetypescript-angulartypescript-angular2typescript-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组件将代码生成与构建管道集成在一起。