NSwagSwagger/OpenAPI 工具链
NSwag 是一个 Swagger/OpenAPI 2.0 和 3.0 工具链,用于.NET、.NET Core、Web API、ASP.NET Core、TypeScript(jQuery、AngularJS、Angular 2+、Aurelia、KnockoutJS 等)和其他平台,用 C# 编写。OpenAPI/Swagger 规范使用 JSON 和 JSON Schema 来描述一个 RESTful web API。NSwag 项目提供了从现有的ASP.NET Web API 控制器生成 OpenAPI 规范的工具,以及从这些 OpenAPI 规范生成的客户端代码。
该项目将 Swashbuckle(OpenAPI/Swagger generation)和AutoRest(client generation)的功能结合在一个工具链中(不需要这两个库)。这样就可以避免很多不兼容的情况,并且可以更好地支持OpenAPI规范或JSON Schema没有很好描述的功能(例如继承、枚举和引用处理)。NSwag 项目大量使用NJsonSchema for .NET来处理JSON Schema和生成C#/TypeScript类/接口。
特性:
- 从 C# ASP.NET(Core) controllers 生成 Swagger 2.0 和 OpenAPI 3.0 规范
- 通过 ASP.NET (Core)中间件提供规范,可选择使用 Swagger UI或ReDoc
- 从这些规范中生成C#或TypeScript客户端/代理。
- 一切都可以通过CLI实现自动化(通过NuGet工具或构建目标分发;或NPM)。
- CLI通过JSON文件或NSwagStudio Windows UI进行配置
评论