.NET Core WebAPI如何集成Swagger做接口管理
admin
2023-02-15 08:00:08
0

什么是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
.NET Core WebAPI如何集成Swagger做接口管理
(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已经启用

.NET Core WebAPI如何集成Swagger做接口管理

.NET Core WebAPI如何集成Swagger做接口管理

问题汇总:
(1)如果需要将WebApi的默认启动页设为Swagger则在Properties中
.NET Core WebAPI如何集成Swagger做接口管理

(2)在这里大家会发现运行后接口的注释并没有显示,我们需要配置注释XML文件
在WebAPI项目上点击右键-》属性-》生成-》XML文档文件
.NET Core WebAPI如何集成Swagger做接口管理
另外切记此处代码第二个参数需要设置为True,否则将不显示控制器级别的注释,只显示接口注释
.NET Core WebAPI如何集成Swagger做接口管理

(3)如果大家会发现有了许多警告,强迫症患者看这里,我们只需要在生成中强制过滤1591的警告即可
.NET Core WebAPI如何集成Swagger做接口管理

相关内容

热门资讯

电风扇通电不转,但是有电 原因可能是因为电风扇缺油了,可以通过给风扇注油试试,具体的注油方式是能将电机拆下来,然后再对主轴和前...
美的波轮洗衣机通电不转怎么回事 可能是洗衣机顶盖的安全开关损坏,安全开关与可以控制洗衣机的程序,所以需要更换安全开关;可能是异物卡住...
冰箱通电不启动是怎么回事? 可能是电路故障。电源线开路,电源线插头与插座接触不良,启动继电器、过载保护器接线端子脱落或接触不良,...
为什么我家里的燃气热水器通电不... 1、可能是水管内没有水流通过,热水器不工作。2、可能是电池电量低,无法推动点火器。3、可能是水压低造...
冰箱通电后压缩机不启动,但压缩... 1、非常有可能是因为冰箱的压缩机内高压输出缓冲管出现了断裂,造成高压管不排气低压管不吸气的这种状况,...
身高缩了,房子小了,胆子也怯了... 据日经中文网7月24日报道,日本经济长期停滞催生了“不断缩小”的社会倾向,近年来日本人的平均身高持续...
广东省内铁路即将全线停运 作者 | 第一财经 南英今年第12号台风“红霞”已于7月24日凌晨生成,预计25日夜间至26日早晨在...
中美频繁高层互动,菲律宾好自为... 7月24日,菲律宾组织7艘公务船、3艘海警舰、1艘运鱼船,并唆使大量渔船位中国黄岩岛管辖海域非法聚集...
被要求补税2250万欧元的法国... ·贝尔纳·阿尔诺。(LVMH官网)他的“帝国”离不开这个国家的形象加持,而这个国家,也早已吃定了这一...
通派龙湖御潮云上:当极核地段遇... 在2026年的郑州楼市版图中,如果要寻找一个能够同时承载“主城确定性”与“产品革新力”的坐标,通派龙...