(一).NET Core WebAPI集成Swagger做接口管理

简介: 什么是Swagger?Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。Swagger 有什么优势?支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需

什么是Swagger?

Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。

Swagger 有什么优势?

支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便,可以节约写文档的时间去学习新技术。

提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试。参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口。

在.NET Core中如何使用Swagger?

(1)准备工作

创建一个.NET Core WebApi 项目

创建一个Model类库

(2)在项目中引入Swagger

在WebApi项目中执行命令:Install-package Swashbuckle.AspNetCore

image.png

(3)在StarUp.cs的ConfigureServices中添加代码

#region Swagger

           services.AddSwaggerGen(c =>

           {

               c.SwaggerDoc("v1", new Info

               {

                   Version = "v1.1.0",

                   Title = "Swagger WebAPI",

                   Description = "XXX项目API文档",

                   TermsOfService = "None",

                   Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "XXX项目", Email = "273145719@qq.com"

                   , Url = "https://www.cnblogs.com/NBIDataVis/" }

               });

               var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);

               //添加接口XML的路径

               var xmlPath = Path.Combine(basePath, "TrySwaggerCore.xml");

               //如果需要显示控制器注释只需将第二个参数设置为true

               c.IncludeXmlComments(xmlPath, true);

           });

#endregion

(4)在StarUp.cs的Configure中添加代码

#region Swagger

app.UseSwagger();

app.UseSwaggerUI(c =>

{

 c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiDocument V1");

});

#endregion

 

(5)运行后进入/swagger目录 即可查看Swagger已经启用

image.png

image.png

问题汇总:

(1)如果需要将WebApi的默认启动页设为Swagger则在Properties中

image.png

(2)在这里大家会发现运行后接口的注释并没有显示,我们需要配置注释XML文件

image.png

在WebAPI项目上点击右键-》属性-》生成-》XML文档文件

另外切记此处代码第二个参数需要设置为True,否则将不显示控制器级别的注释,只显示接口注释

image.png

(3)如果大家会发现有了许多警告,强迫症患者看这里,我们只需要在生成中强制过滤1591的警告即可

image.png

下一章给大家介绍Swagger的分组功能用法。

相关文章
|
25天前
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
41 5
|
2月前
|
人工智能 API C#
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
|
1月前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
29 3
|
3月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
329 1
|
4月前
|
开发工具 Python
django之drf集成swagger
django之drf集成swagger
|
4月前
|
Java Spring
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
本文介绍了如何在Spring Boot项目中集成Swagger 2.x和3.0版本,并提供了解决Swagger在Spring Boot中启动失败问题“Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerEx”的方法,包括配置yml文件和Spring Boot版本的降级。
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
|
5月前
|
jenkins 测试技术 持续交付
解锁.NET项目高效秘籍:从理论迷雾到实践巅峰,持续集成与自动化测试如何悄然改变游戏规则?
【8月更文挑战第28天】在软件开发领域,持续集成(CI)与自动化测试已成为提升效率和质量的关键工具。尤其在.NET项目中,二者的结合能显著提高开发速度并保证软件稳定性。本文将从理论到实践,详细介绍CI与自动化测试的重要性,并以ASP.NET Core Web API项目为例,演示如何使用Jenkins和NUnit实现自动化构建与测试。每次代码提交后,Jenkins自动触发构建流程,通过编译和运行NUnit测试确保代码质量。这种方式不仅节省了时间,还能快速发现并解决问题,推动.NET项目开发迈向更高水平。
55 8
|
5月前
|
Java API Spring
springboot集成swagger
这篇文章介绍了如何在Spring Boot项目中集成Swagger 2.10.0来生成API文档,包括添加依赖、编写配置类、创建接口文档,并使用Knife4j美化Swagger界面。
|
5月前
|
XML 开发框架 .NET
ASP.NET Web Api 如何使用 Swagger 管理 API
ASP.NET Web Api 如何使用 Swagger 管理 API
142 1
|
5月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
103 1
下一篇
开通oss服务