Swashbuckle.AspNetCore IncludeXmlComments 的小更新 Intro 最近发现 Swashbuckle.AspNetCore 从 6.7.0 版本开始有个更新简化了 , true); } 大家在升级这个 NuGet 包的时候也可以针对这个做一个小的优化,减少一些代码哈哈 References https://github.com/domaindrivendev/Swashbuckle.AspNetCore
背景 .net core Swashbuckle Swagger 官方文档:https://github.com/domaindrivendev/Swashbuckle.AspNetCore 我们发现很多小伙伴日常使用 Swashbuckle Swagger 都不看文档的,写下常需用到的配置/写法; 基本使用 Package Manager : Install-Package Swashbuckle.AspNetCore ApiExplorerSettings(GroupName = "v2")] public void Post([FromBody]Product product) 更完善的枚举支持 Install-Package Unchase.Swashbuckle.AspNetCore.Extensions OAuth2.0支持 Install-Package Swashbuckle.AspNetCore.Filters 手填AccessToken(apikey)方式 services.AddSwaggerGen string c.MapType<long>(() => new OpenApiSchema { Type = "string" }); }); 自定义描述(标签) Install-Package Swashbuckle.AspNetCore.Annotations
asp.net core中使用Swashbuckle.AspNetCore生成接口文档 Swashbuckle.AspNetCore:swagger的asp.net core实现 项目地址:https ://github.com/domaindrivendev/Swashbuckle.AspNetCore 仔细看了下readme,发现在百度找半天的东西其实readme里面就有... 开局一张图,然后开始编,一些基本的asp.net core东西就不再赘述,本文只对Swashbuckle.AspNetCore的几个使用要点进行描述。 使用JWT的简单接口验证(暂时见demo) 构建一个webapi项目并使用swagger 新建asp.net core webapi项目 dotnet new webapi 安装nuget包:Swashbuckle.AspNetCore ApiVersions).GetEnumNames().ToList().ForEach(version => { c.SwaggerDoc(version, new Swashbuckle.AspNetCore.Swagger.Info
关于 Swashbuckle.AspNetCore3.0 一个使用 ASP.NET Core 构建的 API 的 Swagger 工具。 项目主页:https://github.com/domaindrivendev/Swashbuckle.AspNetCore 项目官方示例:https://github.com/domaindrivendev /Swashbuckle.AspNetCore/tree/master/test/WebSites 之前写过一篇Swashbuckle.AspNetCore-v1.10 的使用,现在 Swashbuckle.AspNetCore PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.1" /> <PackageReference Include="<em>Swashbuckle</em>.AspNetCore /issues/412 // REF: https://github.com/domaindrivendev/<em>Swashbuckle</em>.AspNetCore/pull/413
先引用:using Swashbuckle.Swagger.Annotations;,然后在Controller的方法上增加如下注解。
微软官方教程getting-started-with-swashbuckle Github/Swashbuckle.AspNetCore 引入一下Swashbuckle.AspNetCore和Swashbuckle.AspNetCore.Annotations # 主要的文档生成都在这里 dotnet add package Swashbuckle.AspNetCore --version 4.0.1 # 用来描述请求的相关信息 dotnet add package Swashbuckle.AspNetCore.Annotations --version 4.0.1 代码: using System; using System.Collections.Generic Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.EntityFrameworkCore; using Swashbuckle.AspNetCore.Swagger System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Swashbuckle.AspNetCore.Annotations
.NET 9 中使用 Scalar 替代内置的 Swagger 支持 (Swashbuckle) Microsoft 已决定从 .NET 9 中删除内置的 Swagger 支持 (Swashbuckle 为什么 Swagger (Swashbuckle) 被删除? ASP.NET Core 团队已决定从 .NET 9 中删除内置的 Swagger 支持 (Swashbuckle),原因如下: 维护问题:Swashbuckle 项目不再由其社区所有者积极维护。
帮助页面或用户手册(Microsoft and Swashbuckle Help Page) 前言 你需要为客户编写Api调用手册?你需要测试你的Api接口?你需要和前端进行接口对接? 本文将介绍创建Web Api 帮助文档页面的两种方式,Microsoft Help Page和Swashbuckle Help Page。 Help Page 1.在Nuget添加Swashbuckle组件。 (我只改过Microsoft的,没改过Swashbuckle的)。 具体如何修改可参考:https://github.com/domaindrivendev/Swashbuckle 简单总结 Swashbuckle Help Page搭建起来相对会比较简单,但是样式
Swagger UI 框架来根据 openapi 文档来显式 OpenAPI 调试界面,我们可以使用原有的 UI 框架,指定好新的 /openapi/v1.json 路径即可 比如说我们使用原来的 Swashbuckle Swagger UI 来展示我们的 API 了,效果和使用 Swashbuckle Swagger 生成 openapi 文档基本一致,只是对于 OpenAPI 文档自定义的支持有所不同 Swashbuckle Swagger / NSwag 等使用,具体可以参考 scalar 的文档 More 从目前的使用来看,scalar ui 简单的使用还是比较方便的,支持多种语言, 相对来说,但是和 Swashbuckle 相比有些功能还是不太完善的 ,比如说多文档的支持,目前 scalar-ui 对于多文档的支持还有些 bug 而且 UI 不支持像 Swashbuckle Swagger UI 一样在一个页面切换不同的 OpenApi 文档,对于需要一个页面展示多个 openapi 文档的需求 scalar 暂时不支持, 可以仍然使用 Swashbuckle Swagger UI ,大家可以根据能否满足项目需要进行选用
框架介绍 GitHub源码地址:https://github.com/domaindrivendev/Swashbuckle.AspNetCore Swashbuckle包含了Swagger UI Swashbuckle三个主要组件 Swashbuckle.AspNetCore.Swagger:将 SwaggerDocument 对象公开为 JSON 终结点的 Swagger 对象模型和中间件。 Swashbuckle.AspNetCore.SwaggerGen:从路由、控制器和模型直接生成 SwaggerDocument 对象的 Swagger 生成器。 Swashbuckle包安装 选择工具=>NuGet包管理器=>程序包管理控制台 输入以下命令安装包:Install-Package Swashbuckle.AspNetCore -Version 6.2.3 有关详细信息,请参阅 Swashbuckle、ApiExplorer 和路由。
1.2 Swashbuckle Swashbuckle 是.NET类库,可以将WebAPI所有开放的控制器方法生成对应SwaggerUI的JSON配置。再通过SwaggerUI 显示出来。 image.png WebAPI 安装 Swashbuckle Install-Package Swashbuckle 代码注释生成文档说明。 Swashbuckle 是通过生成的XML文件来读取注释的,生成 SwaggerUI,JSON 配置中的说明的。 OnlineAPI Demo 项目下载 OnlineAPI Demo下载 Swashbuckle 项目地址: https://github.com/domaindrivendev/Swashbuckle
背景 我用了一个叫Unchase.Swashbuckle.AspNetCore.Extensions的库来加强Swagger的文档,我一般写法是这样的: builder.Services.AddSwaggerGen Configure(configureOptions); } https://github.com/unchase/Unchase.Swashbuckle.AspNetCore.Extensions /blob/d710cb6557944c49824d0cb31b72b90ad0319c1f/src/Unchase.Swashbuckle.AspNetCore.Extensions/Extensions )这种操作写好 所以我这里的写法可以改为: 1、先更换引用的nuget包(因为在作者修改这个问题前暂时打了一个自己的nuget) <PackageReference Include="Unchase.<em>Swashbuckle</em>.AspNetCore.Extensions " Version="2.6.12" /> //改为 <PackageReference Include="Hei.Unchase.<em>Swashbuckle</em>.AspNetCore.Extensions
.NET9 剔除内置的 Swagger/Swashbuckle 组件,新增 Microsoft.AspNetCore.OpenApi 包。 长期以来,在运行时为 ASP.NET Core 生成 API 规范的两个最常见的库是 NSwag 和 Swashbuckle。 NSwag,https://github.com/RicoSuter/NSwag Swashbuckle,https://github.com/domaindrivendev/Swashbuckle.AspNetCore Swashbuckle 维护者也不关心现场有新的库。 我们不认为它是 Swashbuckle 的竞争对手 - 例如,新库仅支持 ASP.NET Core 9 及更高版本,而 Swashbuckle 对旧版本的 ASP.NET Core 具有更广泛的支持,包括
入门 关于如何使用Swagger为ASP.NET Web API生成文档已经写了不止两篇文章(还有一个叫做Swashbuckle的NuGet包,你可以很容易地集成它),但是我需要一些动态的东西 - 事实上 理想情况下,你要做的是将前面提到的Swashbuckle NuGet包集成到你现有的(或新的)Web API项目中。 [图片] Swashbuckle NuGet packages(Swashbuckle和Swashbuckle.Core) 下面是一个非常简短(最小)的SwaggerConfig实现,删除了大量的注释:
Swashbuckle Swashbuckle.AspNetCore 是一个流行的 .NET 库,它使得在 ASP.NET Core 项目中自动生成 Swagger 文档变得简单。 开源地址:https://github.com/domaindrivendev/Swashbuckle.AspNetCore 详细使用教程:https://mp.weixin.qq.com/s/dI6tb7WtOyB6p1iqYraH5g
微软宣布,标准Web API模板中的Swagger集成将被取消,原因是Swashbuckle缺乏持续维护。Swashbuckle.AspNetCore包一直被广泛用于生成Swagger文档。 以下是几种选择: 手动重新添加Swashbuckle 开发者如果喜欢Swagger的界面,仍然可以手动将Swashbuckle.AspNetCore集成到.NET 9项目中。 通过为项目选择最佳解决方案(如NSwag、Swashbuckle或自定义界面),你仍然可以在.NET 9中提供清晰、直观的API文档。
下面以Swashbuckle.AspNetCore为例为大家进行展示 Swashbuckle由哪些组成部分呢? Swashbuckle.AspNetCore.Swagger:将 SwaggerDocument 对象公开为 JSON 终结点的 Swagger 对象模型和中间件。 Swashbuckle.AspNetCore.SwaggerGen:从路由、控制器和模型直接生成 SwaggerDocument 对象的 Swagger 生成器。 如何使用vs2017安装Swashbuckle呢? ” 从“浏览”选项卡中选择“Swashbuckle.AspNetCore”包,然后单击“安装” ?
Swashbuckle.AspNetCore3.0 介绍 一个使用 ASP.NET Core 构建的 API 的 Swagger 工具。 项目主页:https://github.com/domaindrivendev/Swashbuckle.AspNetCore 划重点,使用多看看 Readme,然后看下项目官方示例,遇到问题找找 issues 继上篇Swashbuckle.AspNetCore3.0 的二次封装与使用分享了二次封装的代码,本篇将分享如何给文档添加一个登录页,控制文档的访问权限(文末附完整 Demo) 关于生产环境接口文档的显示 在此之前的接口项目中,若使用了 Swashbuckle.AspNetCore,都是控制其只在开发环境使用,不会就这样将其发布到生产环境(安全第一) 。 为使用 Swashbuckle.AspNetCore3 的项目添加接口文档登录功能 在写此功能之前,已经封装了一部分代码,此功能算是在此之前的代码封装的一部分,不过是后面完成的。
当项目开发完成后,给项目添加Swagger,笔者用的是Swashbuckle.AspNetCore这个组件,添加Swagger的方式大致如下,首先是在Startup类的ConfigureServices (String documentName, String host, String basePath) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke 探究源码# 又看了看异常决定从源码入手,通过控制台报出的异常可以看到报错的最初位置是在Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations Swashbuckle.AspNetCore入手# 在GitHub上找到Swashbuckle.AspNetCore仓库位置,近期GitHub不太稳定,除了梯子貌似也没有很好的办法,多刷新几次将就着用吧 后续小插曲# 通过上面的方式解决了Swagger报错之后,在后来无意中翻看Swashbuckle.AspNetCore文档的时候发现了IDocumentFilter这个Swagger过滤器,想着如果能通过过滤器的方式去解决这个问题会更优雅
本文使用特性来描述接口而不是xml文件,使用特性可自定义接口在swaggerUI上的描述 安装nuget包:Swashbuckle.AspNetCore.SwaggerUI和Swashbuckle.AspNetCore.Annotations ApiExplorerSettings和SwaggerOperation: using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Swashbuckle.AspNetCore.Annotations