.Net Core3.1下使用Swagger搭建web api项目!
2020-11-19 07:41:20来源:阅读:-

前言:微软于前天发布.net core 3.1正式版,并将长期支持3.1。所以我听到这个消息后就急忙下载.net core 3.1的SDK和Runtime,应该是公司最先用3.1的攻城狮了。

OK!废话少说,今天的目的是基于.net core 3.1建一个web api的项目

先下载.net core 3.1的SDK(开发.net core项目时会用到)和Runtime(用来运行.net core的应用程序)

地址:https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

.Net Core3.1下使用Swagger搭建web api项目

创建ASP.NET Core web项目 ps:不要选错了

.Net Core3.1下使用Swagger搭建web api项目

这里说一下项目目录下的各个文件的作用

.Net Core3.1下使用Swagger搭建web api项目

引入Swashbuckle.AspNetCore程序包

.Net Core3.1下使用Swagger搭建web api项目

执行以下命令

Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc4
.Net Core3.1下使用Swagger搭建web api项目

添加 并配置Swagger中间件

 services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});
.Net Core3.1下使用Swagger搭建web api项目

 app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
.Net Core3.1下使用Swagger搭建web api项目

现在添加一个控制器,写一个接口看看能不能出来

.Net Core3.1下使用Swagger搭建web api项目

地址栏改一下

swagger/index.html
.Net Core3.1下使用Swagger搭建web api项目

如果对接口做了xml注释,要在Startup添加如下代码,才可以显示出来

先引入NuGet包:Microsoft.Extensions.PlatformAbstractions

然后右键属性

.Net Core3.1下使用Swagger搭建web api项目

再在Startup中添加下面的代码

 var basePath = PlatformServices.Default.Application.ApplicationBasePath;
//Core.Admin.webapi.xml是我的项目生成XML文档的后缀名,具体的以你项目为主
var xmlPath = Path.Combine(basePath, "Core.Admin.webapi.xml");
c.IncludeXmlComments(xmlPath);

.Net Core3.1下使用Swagger搭建web api项目

运行项目,注释已经出来了

.Net Core3.1下使用Swagger搭建web api项目

在launchSettings.json中更改一下launchUrl这个环境变量,这样就不用每次都改地址栏了

.Net Core3.1下使用Swagger搭建web api项目

最后附上微软官方教程地址


https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio

转自:https://www.cnblogs.com/zhangnever/p/11915509.html

推荐阅读:中冀网
网站首页 | 关于我们 | 联系我们 | XML地图 | 版权声明 | 网站地图TXT
焦点视觉网 -打造全面的专业的企业资讯门户!
免责声明:焦点视觉网所有文字、图片、视频、音频等资料均来自互联网,不代表本站赞同其观点,本站亦不为其版权负责。相关作品的原创性、文中陈述文字以及内容数据庞杂本站无法一一核实,如果您发现本网站上有侵犯您的合法权益的内容,请联系我们,本网站将立即予以删除!
Copyright © 2012-2019 http://www.jdgcxw.cn, All rights reserved.