(一).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的分组功能用法。

相关文章
|
5月前
|
API
支付系统38-----支付宝支付---统一收单线下交易查询 第一步下单------》发起支付请求,登录,确认支付,查单接口开发,swagger接口全部呈现,
支付系统38-----支付宝支付---统一收单线下交易查询 第一步下单------》发起支付请求,登录,确认支付,查单接口开发,swagger接口全部呈现,
|
4月前
|
JSON API 数据处理
Winform管理系统新飞跃:无缝集成SqlSugar与Web API,实现数据云端同步的革新之路!
【8月更文挑战第3天】在企业应用开发中,常需将Winform桌面应用扩展至支持Web API调用,实现数据云端同步。本文通过实例展示如何在已有SqlSugar为基础的Winform系统中集成HTTP客户端调用Web API。采用.NET的`HttpClient`处理请求,支持异步操作。示例包括创建HTTP辅助类封装请求逻辑及在Winform界面调用API更新UI。此外,还讨论了跨域与安全性的处理策略。这种方法提高了系统的灵活性与扩展性,便于未来的技术演进。
281 2
|
19天前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
24 3
|
2月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
109 9
|
7月前
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
161 7
|
4月前
|
XML 开发框架 .NET
ASP.NET Web Api 如何使用 Swagger 管理 API
ASP.NET Web Api 如何使用 Swagger 管理 API
129 1
|
4月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
|
4月前
|
开发框架 NoSQL .NET
使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
|
5月前
|
人工智能 C#
Jvedio:.NET开源功能强大的本地视频管理神器
Jvedio:.NET开源功能强大的本地视频管理神器
270 0
|
5月前
|
JSON 数据格式
MysbatisPlus-核心功能-IService开发基础业务接口,MysbatisPlus_Restful风格,新增@RequestBody指定是为了接收Json数据的,使用swagger必须注解
MysbatisPlus-核心功能-IService开发基础业务接口,MysbatisPlus_Restful风格,新增@RequestBody指定是为了接收Json数据的,使用swagger必须注解