gpt4 book ai didi

.Net Core2.1 WebAPI新增Swagger插件详解

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章.Net Core2.1 WebAPI新增Swagger插件详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

说明 。

Swagger是一个WebAPI在线注解、调试插件,过去我们主要通过手工撰写WebAPI接口的交互文档供前端开发人员或外部开发者, 。

官网地址:https://swagger.io/.

但是在实际工作中,往往咋们的文档工作通常落后于实际的环境,导致文档和实际接口不一致,前后端开发人员苦不堪言.

Swagger的出现解放了接口文档撰写的麻烦也提高了前后端开发者的工作效率,所谓“工欲善其事,必先利其器 ”。现在让咋们 。

了解下在.NET Core 2.1下如何实现Swagger.

1、Nuget安装依赖包 。

 首先Nuget安装Swashbuckle.AspNetCore 。

打开Nuget控制台(程序包管理控制台),键入下列命令 。

?
1
Install-Package Swashbuckle.AspNetCore

2、添加Swagger中间件 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public IServiceProvider ConfigureServices(IServiceCollection services)
  {
   services.Configure<CookiePolicyOptions>(options =>
   {
   // This lambda determines whether user consent for non-essential cookies is needed for a given request.
   options.CheckConsentNeeded = context => true ;
   options.MinimumSameSitePolicy = SameSiteMode.None;
   });
 
   services.AddMvc().AddJsonOptions(options =>
   {
   //忽略循环引用
   options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
   //不使用驼峰样式的key
   options.SerializerSettings.ContractResolver = new DefaultContractResolver();
   })
   .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
 
   // Register the Swagger generator, defining 1 or more Swagger documents
   services.AddSwaggerGen(c =>
   {
   c.SwaggerDoc( "v1" , new Info { csharp" id="highlighter_996223">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
  {
   if (env.IsDevelopment())
   {
   app.UseDeveloperExceptionPage();
   }
   // Enable middleware to serve generated Swagger as a JSON endpoint.
   app.UseSwagger();
   // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
   // specifying the Swagger JSON endpoint.
   app.UseSwaggerUI(c =>
   {
   c.SwaggerEndpoint( "/swagger/v1/swagger.json" , "My API V1" );
   });
   app.UseVisitLogger();
   app.UseMvc();
  }

3、配置WebAPI项目属性 。

1、双击Properties下的launchSettings.json,将launchUrl更新为swagger 。

.Net Core2.1 WebAPI新增Swagger插件详解

F5结果如下:

.Net Core2.1 WebAPI新增Swagger插件详解

 4、新增注解 。

如上图,虽然WebAPI已经出来了,但是呢,并没有发现我们在Action上写的注释? 老司机应该知道在Framework版本里我们需要 。

将WebAPI启动项属性里更改“项目生产“一栏中新增XML文档,.NetCore也是如此。如下图

.Net Core2.1 WebAPI新增Swagger插件详解

保存后,按F5发现并木有生产注解,Why???  那是因为我们必须明确告诉Swagger应该从哪个路径读取WebAPI注解XML文件,更新Startup下的ConfigureServices.

参考下面代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Register the Swagger generator, defining 1 or more Swagger documents
  services.AddSwaggerGen(options =>
  {
   options.SwaggerDoc( "v1" , new Info { src="/uploads/allimg/200529/15295V396-3.png" />

 是不是很爽~~ 。

还有,Swagger是支持授权登录的哦,这个待研究.

总结 。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我的支持.

原文链接:https://www.cnblogs.com/hunanzp/archive/2018/07/08/9279906.html 。

  • .NET
  • core
  • Swagger
  • WebAPI
  • 延伸 · 阅读

    • 2020-05-29.net core xss攻击防御的方法
    • 2020-05-29.Net使用RabbitMQ即时发消息Demo
    • 2020-05-29.NET core高性能对象转换示例代码
    • 2020-05-29jenkins部署.net平台自动化构建的方法步骤
    • 2020-05-29.NET Core控制台应用程序如何使用异步(Async)Ma
    • 2020-05-29.NET/ASP.NET Routing路由(深入解析路由系统架构原理
    精彩推荐
    • ASP.NET教程asp.net Xml绑定到数据控件的具体实现

      asp.net Xml绑定到数据控件的具体实现

      这篇文章主要介绍了asp.net Xml绑定到数据控件的两种简单方法 ,需要的朋友可以参考下... 。

      ASP.NET教程网 406 2019-12-04
    • ASP.NET教程在Web用户控件中引用样式表中样式的方法

      在Web用户控件中引用样式表中样式的方法

      在Web用户控件中引用样式表中样式有很多方法,在本文将为大家介绍下具体实现... 。

      ASP.NET教程网 356 2019-11-22
    • ASP.NET教程未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解决办法

      未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解

      这篇文章主要给大家介绍了关于未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的完美解决办法,需要的朋友可以参考下... 。

      willingtolove 294 2019-06-19
    • ASP.NET教程asp.net Silverlight中的模式窗体

      asp.net Silverlight中的模式窗体

      现在Web开发技术中流行着模式窗体,这种不用跳转页面又能够满足与用户进行数据交互的手段确实不错,那我今天也谈谈Silverlight中的模式窗体吧。... 。

      脚本之家 210 2019-06-20
    • ASP.NET教程ASP.NET向Javascript传递变量两种实现方法

      ASP.NET向Javascript传递变量两种实现方法

      ASP.NET向Javascript传递变量两种实现方法,需要的朋友可以参考下... 。

      asp.net教程网 159 2019-10-12
    • ASP.NET教程div弹出层的ajax登录(Jquery版+c#)

      div弹出层的ajax登录(Jquery版+c#)

      这次主要的分享就是div+css+jquery,你可以改版成你要的登录,随意改版!后台代码由于时间限制,没有完成,里面有些乱,重点分享界面,还望理解... 。

      asp.net技术网 194 2019-10-08
    • ASP.NET教程在ASP.NET 2.0中操作数据之二:创建一个业务逻辑层

      在ASP.NET 2.0中操作数据之二:创建一个业务逻辑层

      本文主要介绍 ASP.NET 2.0 如何创建业务逻辑层,业务逻辑层主要定义一些业务规则,调用已经定义好的数据库访问层代码,将读取、插入、修改以及删除等方... 。

      heker2007 436 2020-01-06
    • ASP.NET教程asp.net实现生成静态页并添加链接的方法

      asp.net实现生成静态页并添加链接的方法

      这篇文章主要介绍了asp.net实现生成静态页并添加链接的方法,非常实用的功能,需要的朋友可以参考下... 。

      shichen2014 308 2019-12-06

    最后此篇关于.Net Core2.1 WebAPI新增Swagger插件详解的文章就讲到这里了,如果你想了解更多关于.Net Core2.1 WebAPI新增Swagger插件详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com