热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

手把手教你ASP.NETCore:WebAPI文档利器Swagger

Swagger是什么?本质上就是使用OpenAPI3.0规范写一份文档,该文档描述了API的各种状态,你可以拿着这份文档部署

Swagger是什么?

本质上就是使用 OpenAPI 3.0 规范写一份文档,该文档描述了 API 的各种状态,你可以拿着这份文档部署在 Swagger-UI 上给对接的同事查看,也可以在 SoapUI 等工具中进行测试。

添加并配置 Swagger 中间件

需要先安装“Swashbuckle.AspNetCore”包,将 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服务集合中:

services.AddSwaggerGen();

在 Startup.Configure 方法中,启用中间件为生成的 JSON 文档和 Swagger UI 提供服务:

app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});

XML 注释

  • 在“解决方案资源管理器”中右键单击该项目,然后选择“编辑.csproj” 。


  • 手动将PropertyGroup添加:

    true


更改services.AddSwaggerGen();代码如下:

services.AddSwaggerGen((c =>
{
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
}));

演示效果

手把手教你ASP.NET Core:Web API文档利器Swagger - 文章图片

手把手教你ASP.NET Core:Web API文档利器Swagger - 文章图片

小结

现在我们终于把API文档也搞定了,再也不用傻傻的通过Word手工写API文档给前端了,而也不怕我们更新了API而文档没有同步更新。


推荐阅读
  • Linux环境下的PHP7安装与配置指南
    本文详细介绍了如何在Linux操作系统中安装和配置PHP7,包括检查当前PHP版本、升级PHP以及配置MySQL支持等步骤,适合后端开发者参考。 ... [详细]
  • Hibernate入门指南:单表数据库操作详解
    本文介绍了Hibernate作为全面的ORM框架的基础知识,并详细讲解了在MyEclipse环境中配置Hibernate以及进行基本的数据库单表操作的方法,包括增删改查等常见操作。 ... [详细]
  • 2023年PHP处理请求超时的全面指南
    本文详细介绍了在PHP中处理请求超时的各种方法,包括设置脚本执行时间、处理file_get_contents函数超时以及优化AJAX请求等,适合开发者参考学习。 ... [详细]
  • 本文提供了详细的指导,帮助开发者了解如何使用PHP插件进行网站内容的翻译,特别是针对WordPress插件和主题的汉化及多语言支持。 ... [详细]
  • 优化Nginx中PHP-FPM模块配置以提升性能
    通过调整Nginx与PHP-FPM之间的配置,可以显著提高Web服务器处理PHP请求的速度和效率。本文将详细介绍如何针对不同的应用场景优化PHP-FPM的各项关键参数。 ... [详细]
  • 电子与正电子的相互作用
    本文探讨了电子与正电子之间的基本物理特性及其在现代物理学中的应用,包括它们的产生、湮灭过程以及在粒子加速器和宇宙射线中的表现。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 本文介绍如何在Windows 7操作系统中配置支持HTML5多点触控功能的设备,同时探讨了HTML5在开发Windows桌面应用程序中的可能性。 ... [详细]
  • 本文详细分析了在C#中调用服务时遇到服务停止后抛出EndPointNotFoundException所需的时间,以及如何通过调整配置参数来优化这一过程。 ... [详细]
  • 微服务架构详解及其入门指南
    本文详细介绍了微服务的基本概念、发展历程、与传统架构的区别及优势,并探讨了适合采用微服务架构的场景。此外,文章还深入分析了几个主流的微服务开发框架,特别是Spring Cloud的组成和特点。 ... [详细]
  • 使用Python模拟登录教务系统抓取成绩并分析存储
    本文详细介绍如何使用Python编程语言模拟登录学校教务系统,抓取学生的成绩信息,并进行数据分析和可视化处理,最终将数据存储到MySQL数据库中。 ... [详细]
  • 本文详细介绍了中心方形数的概念及其计算方法,并提供了多种编程语言下的实现代码。 ... [详细]
  • 本文探讨了如何利用 Application 对象在 PHP 应用程序中共享数据,特别是在多用户环境中保持数据的一致性和安全性。文章还介绍了 Application 对象的基本结构、方法和事件,并提供了实际应用示例。 ... [详细]
  • 本文详细介绍了使用Apache的AB工具和Webbench进行服务器性能测试的过程,分享了实际操作中的测试结果,并探讨了测试过程中遇到的问题及可能的解决方案。 ... [详细]
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
author-avatar
何止爱你2010_694
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有