Project Icon

NSwag

支持 .NET、ASP.NET Core 和 TypeScript 的 Swagger/OpenAPI 工具链

NSwag 是一个支持 .NET、ASP.NET Core 和 TypeScript 的 Swagger/OpenAPI 工具链,它能够生成 OpenAPI 规范并创建客户端代码。它结合了 Swashbuckle 和 AutoRest 功能,提供了一站式解决方案,解决了许多兼容性问题。NSwag 支持通过 CLI、JSON 文件或 NSwagStudio GUI 进行自动配置,非常适合企业级开发。

NSwag 项目介绍

NSwag 是一个用于 .NET、ASP.NET Core 和 TypeScript 的 Swagger/OpenAPI 工具链。它通过使用 JSON 和 JSON Schema 来描述 RESTful web API 来提供开放的 API 规范。NSwag 项目为 ASP.NET Web API 控制器生成 OpenAPI 规范,并从这些规范生成客户端代码。这个项目由 Rico Suter 和其他贡献者开发和维护。

项目特点

  • 生成 OpenAPI 规格:NSwag 可以从 C# ASP.NET 控制器生成 Swagger 2.0 和 OpenAPI 3.0 规范,并且可以通过 ASP.NET 中间件服务这些规格,可以选择包含 Swagger UI 或 ReDoc。
  • 客户端生成:从 OpenAPI 规格生成 C# 或 TypeScript 客户端或代理。这些操作可以通过命令行界面(CLI)自动化,并且可以通过 NuGet 工具或 NPM 分发。
  • 友好的用户界面:NSwag 提供了一个简单易用的 Windows GUI 工具 NSwagStudio,用于生成和测试 API。

使用方式

  • NSwagStudio:提供一个简单易用的 Windows 图形界面。
  • 中间件:通过 OpenAPI 或 Swagger UI 的 OWIN 和 ASP.NET Core 中间件使用。
  • 命令行接口 (CLI):支持 Windows、Mac 和 Linux。
  • C# 集成:可以通过 NuGet 包在 C# 代码中使用。
  • MSBuild 集成:可以在 .csproj 文件中使用 ServiceProjectReference 标签。

教程

NSwag 提供了一些教程,帮助开发者更好地集成该工具链:

  • 如何在 ASP.NET Core 应用中添加 NSwag。
  • 将 NSwag 工具链集成到 ASP.NET Web API 项目中。
  • 从现有的 ASP.NET Web API Web 程序集中生成 Angular TypeScript 客户端。

代码生成器

  • CSharp Client:生成 C# 客户端代码,支持 .NET Framework、.NET Core、Xamarin 和 .NET Standard。
  • CSharp Controllers:生成基于 OpenAPI 规格的 Web API 控制器。
  • TypeScript Client:从 OpenAPI 规格生成 TypeScript 客户端,支持多种框架模板,如 JQuery、Angular、Aurelia 等。

下载和包管理

用户可以从 GitHub 下载最新的 NSwagStudio 和命令行工具。同时,NSwag 也可以作为 NPM 包进行分发。此外,NSwag 还有不同功能的 NuGet 包,支持各种 .NET 平台和功能。

在 C# 中的使用

在 ASP.NET Core 项目中,可以通过在 Startup.cs 文件中注册来生成 OpenAPI 规格并渲染 UI。以下是使用中间件的基本示例:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddOpenApiDocument();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        app.UseOpenApi();
        app.UseSwaggerUi();
        app.UseReDoc();
    }
}

最后,NSwag 的工具和功能不仅适用于 .NET 开发者,还为 TypeScript 开发者提供了一套集成的解决方案,让他们可以更好地利用 OpenAPI/Swagger 规格来简化 API 开发和使用流程。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号