Swashbuckle是一个开源框架,它将Swagger和Swagger-ui添加到ASP.NET Web API项目中。
如何使用 OpenAPI 和 Scalar API 文档对控制器进行分组
我有一个 ASP.NET Core 9 Web API 应用程序。默认情况下,.NET9 不再使用 Swashbuckle。为了生成 API 文档,我使用 Microsoft OpenAPI 文档和 Scalar。 效果很好。我不...
在遵循此示例文档后,我正在尝试弄清楚如何使用 Swagger (SwashBuckle) 发布 .net core 3 API。所以它可以在本地运行,当我按 F5 IIS Express 时,会启动该网站...
当参数未命名为 id 时,使用 Swashbuckle 的 Swagger 不会生成文档
在 .NET 4.8 上的 ASP.NET MVC 应用程序中,我使用 Swagger 和 Swashbuckle 来生成 API 文档。自动生成适用于某些端点,而不是所有端点。 对于
从.NET框架中的Swashbuckle Swagger接口授权(登录)
使用 Swashbuckle.AspNetCore,我为 .NET core REST API 提供了一个 Swagger 接口,其中有一个“授权”按钮,可将我带到我的单点登录服务器: 我需要在 ASP.NET 中做同样的事情
是否可以使用 SwashBuckle 和 Swagger UI 更改 HTML 标题
我们有很多服务,它们使用 SwashBuckle / Swagger UI 来公开 REST 方法。 当您在浏览器的选项卡中打开其中几个而无法立即看到它们时,这通常会很烦人
在 Swagger 中为未经授权的请求指定空 Content-Type
为了生成完整的 swagger.json 文件,我为最小的 .NET API 方法指定了所有可能的返回状态,如下所示: app.MapGet(rootPattern, async (MyDbContext db) =>...
ASP.NET Core WebAPI 中升级 Swashbuckle 后如何使用 SwaggerResponse
我们有一个包含约 150 个控制器(约 500 个方法)的 Web API,我们将其从 Core2.2 升级到 net5.0,并随之升级了 Swashbuckle 包。 旧版本的Swashbuckle使用SwaggerRes...
我有一个 ASP.Net Web API,其中包含 XML 文档,包括许多 标签。 我最近在解决方案中添加了 Swagger(Swashbuckle UI 的东西),并注意到它不能处理...
在控制器上使用默认操作时,Swagger 会抛出冲突的方法/路径组合
我在 ASP.NET (Core) 8.0 上使用 Swagger 来记录我的 API 路由。 我使用的典型模板是一个控制器,其路由定义为如下属性: [ApiController,路线(“api/[控制...
我正在使用 swagger/swashbuckle 为 Web Api 2 中实现的 api 生成文档。 唯一可识别的 xml 文档标签是 、 和 .... 我正在使用 swagger/swashbuckle 为 Web Api 2 中实现的 api 生成文档。 唯一可识别的 xml 文档标签是 <summary>、<remarks> 和 <param>。 这意味着我无法使用 <para> 标签来格式化新行或段落中的文本,所有内容都在文档的实施说明条目中生成为连续的长段落。 有什么办法可以做到这一点吗? 我发现你只需在评论中添加 <br /> 标签即可实现此目的。 添加: /// <br /> 将导致生成的文档中换行。 另一种实现方法是创建自定义操作过滤器并使用 xml 文档标签,如下所述: https://github.com/domaindrivendev/Swashbuckle/issues/258 希望这有帮助 山姆 在 SwashBuckle.AspNetCore 中 <br /> 和 <br />(在 github 中建议)不起作用。 在 <remarks> 中,您可以在行尾指定反斜杠。 例如 /// <remarks> /// before. \ /// after. /// </remarks> 生成2行 before. after. 但是我无法在 <summary> 部分生成多行。 注意,如果该行有尾随空格(例如"before. \ "),反斜杠将在输出中按字面显示。 您可以在https://github.com/MNF/Samples/blob/master/SwashbuckleExample/SwashbuckleExample/Controllers/SwashBuckleTest.cs中看到我的一些尝试 发布的解决方案均不适用于较新版本的 Swagger。如果您希望注释行之间有换行符分隔,则必须为换行符添加 ///。这使得方法注释变得冗长,但在 Swagger 文档中它们将更具可读性。 /// <summary> /// Comment Line 1 /// /// Comment Line 2 /// /// Comment Line 3 /// </summary> 根据 Markdown 规范,可以通过添加双空格(两个空格)来结束行来在备注中添加新行 使用Visual Studio 2019(.net core 3.1),我可以使用html注释。 使用 <br /> 可以在一行内完成所有操作。 我还尝试过其他 html 标签,例如下划线和粗体。 /// <summary> /// test /// </summary> /// <remarks><u>underline</u> "test line 1" <br /><b>Bold</b> "test line 2" </remarks> 使用下面的结构,Swashbuckle UI 和 ReDoc UI 都可以工作: /// <summary> /// Title /// /// <para>Content line 1</para> /// <para>Content line 2</para> /// <para>Content line 3/</para> /// </summary> 重要提示:不要忽略每行末尾的空格 如果所有答案都不适合您,则在某些情况下部分有效,就像我一样。 您可以使用<br></br>。不要使用</br>。有时它会破坏 XML。 Visual Studio 显示 <br/> 的 XML 格式错误 经过长时间的搜索,我发现 *** 代表粗体文本,我知道它不是同一主题,但我很确定这对这里的人有用! 示例: ***400 - BadRequest When any parameter is out of specification.*** 我使用 Visual Studio 2022 和 openapi 版本 3.0.1 作为默认值, 要完整的文档,你可以这样做, 首先:确保您在项目中启用了 XML 文档,如下所示: 编辑您的 .csproj 文件(我的项目是 .net core 7,您也可以对 core 8 执行此操作): <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <GenerateDocumentationFile>true</GenerateDocumentationFile> <DocumentationFile>bin\Debug\net7.0\WebApi.xml</DocumentationFile> <NoWarn>$(NoWarn);1591</NoWarn> </PropertyGroup> 这将在路径 bin\Debug 处创建 WebApi.xml 文件 et7.0\ 每当您构建项目时。 注意: 如果所有方法都没有 XML 注释,NoWarn 会抑制警告。 现在您可以为自定义文档添加多行和示例,如下所示: /// <summary> /// Latest Version: 1.0.2 /// </summary> /// <remarks> /// ### Version Walkthrough: /// /// #### Version 1.0.0 (Base Version): /// /// ```json /// { /// "version": "string", // Optional, 1.0.0 is Default /// "defParam1": 0, // Mandatory /// "defParam2": "string" // Mandatory /// } /// ``` /// /// #### Version 1.0.1: /// /// ```json /// { /// "newParam1": "string", // Added in ver1.0.1 for specific feature /// "newParam2": "string" // Added in ver1.0.1 for another feature /// } /// ``` /// /// #### Version 1.0.2: /// /// ```json /// { /// "newParam3": "string" // Added in ver1.0.2 for new functionality /// } /// ``` /// /// ### Example Request: /// /// ```json /// { /// "version": "1.0.2", /// "defParam1": 123, /// "defParam2": "sample data", /// "newParam3": "new data" /// } /// ``` /// </remarks> /// <response code="201">Returns the newly created item</response> /// <response code="400">If the item is null</response> /// <response code="401">Authorization is failed</response> [HttpPost] public ProcedureVersioningViewModel GetAllProcedureVersion(GetProcedureVerionResponseItemViewModel model) { return _procedureVersionService.GetAllProcedureVersion(model); } 输出是这样的(我如何向 swagger 添加一些 CSS 和样式以使其 UI 更漂亮):
在C#中从动态Json对象动态生成OpenApiSchema
我希望从 .Net 6 中的任何给定 Json 对象动态生成 OpenApiSchema。我在代码中没有可用的 clr 类型来自动生成 Swashbuckle 使用的 Open API Json,并且需要...
如何替换 Swagger UI Endpoint 路由中的 Swagger“服务器”路径?
在我正在构建的 Web API 中,控制器使用以下约定进行路由: [路线(“api/public/v{版本:apiVersion}/[控制器]”)] [API控制器] 公共类 TestController:ControllerBas...
我有一个带有 Swagger 和 Swashbuckle 代码属性的 ASP.Net Core API,用于生成 UI 文档。 API 的命名策略自始至终都是蛇形命名法,在大多数文档中都是......
我正在使用 Swagger API 来记录我的 REST 服务。 早些时候,我的控制器方法没有信息丰富的注释,因此 Swagger API 没有显示描述,但现在即使在
如何更改 swagger Route 端点 url 并保存 api 版本控制
我有启动文件,我在其中配置 SwaggerUI 和 Enpoints Url 命名空间 会计服务 { 公开课 创业 { //公共启动(IConfiguration配置,IHostEnvironment...
我正在尝试调整自动生成的 Swagger 定义中使用的模型的“displayName”。 这只会影响 Swagger 名称,这意味着代码中的命名空间将被保留
.NET Core - 使用 Microsoft.Identity.Web 保护整个 Swagger UI
我在 .NET Core 中为我的组织构建了一个 api,并使用 PKCE 保护了 MSAL OAuth2 流背后的端点。我想做好准备,以防 api 应该被第 3 方访问。 API
您可以在运行时为操作设置 Swashbuckle 文档吗? 示例:允许的值的文档列表,它基于内部字典,但也可以基于配置...
Asp.NET Core 3.1 和 Swashbuckle.AspNetCore.Swagger
我将我的 asp.net core 应用程序更新到 v3.1,并将我的 Swagger form v5.04 rc 更新到 v5.0,一切都停止工作。 API 正在工作,但我无法生成 swagger 文件,但我能够。 这是我的