首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情...那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, Swagger就是最受欢迎的REST APIs文档生成工具之一!...Info { Title = "My API", Version = "v1" }); }); 在 Startup.Configure 方法中,启用中间件为生成的 JSON 文档和 Swagger UI...生成的描述终结点的文档显示如下json格式。 ? 可在 http://localhost:/swagger 找到 Swagger UI。...通过上面的操作可以总结出,Swagger UI 显示上述注释代码的  元素的内部文本作为api大的注释! 当然你还可以将 remarks 元素添加到 Get 操作方法文档。

3.3K10

如何使 WebAPI 自动生成漂亮又实用在线API文档「建议收藏」

1.2 Swashbuckle Swashbuckle 是.NET类库,可以将WebAPI所有开放的控制器方法生成对应SwaggerUI的JSON配置。再通过SwaggerUI 显示出来。...Swashbuckle 是通过生成的XML文件来读取注释的,生成 SwaggerUI,JSON 配置中的说明的。...image.png 将配置文件大概99行注释去掉并修改为 c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name)); 并在当前类中添加一个方法...“XML 文档文件”,编译过程中生成类库的注释文件 image.png 添加百度音乐 3个API image.png 访问 http:///swagger/ui/index,最终显示效果 image.png...swagger-ui 项目地址: https://github.com/swagger-api/swagger-ui swagger-ui 官网地址: http://swagger.io/swagger-ui

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

    框架介绍 GitHub源码地址:https://github.com/domaindrivendev/Swashbuckle.AspNetCore Swashbuckle包含了Swagger UI...它通常与 Swagger 终结点中间件结合,以自动公开 Swagger JSON。 Swashbuckle.AspNetCore.SwaggerUI:Swagger UI 工具的嵌入式版本。...添加并配置Swagger中间件 1、将 Swagger生成器添加到 Program.cs 中的服务容器中: // 添加Swagger服务 builder.Services.AddSwaggerGen...调用 AddMvcCore 时,必须显式调用 AddApiExplorer 方法。 有关详细信息,请参阅 Swashbuckle、ApiExplorer 和路由。...UI 显示版本的信息如下所示:  API Swagger添加描述 在 Program.cs 中注入XML相关描述: 注意:将 Swagger 配置为使用按照上述说明生成的 XML 文件。

    1.2K20

    【愚公系列】2023年02月 WMS智能仓储系统-007.Swagger接口文档的配置

    文件的方法、参数和模型紧密集成到服务器端的代码,允许 API 来始终保持同步。Swagger 让部署管理和使用功能强大的 API 从未如此简单。...Swagger UI – 将 OpenAPI 定义呈现为交互式文档。 Swagger Codegen – 从 OpenAPI 定义生成服务器存根和客户端库。...接口文档的配置 1.安装包 Swashbuckle.AspNetCore Swashbuckle.AspNetCore.Filters 2.注入 2.1 Swagger服务的注入 #region 添加接口文档...文档 使用ApiExplorerSettings特性表名该接口属于Base文档 ApiExplorerSettingsAttribute还有个IgnoreApi属性,如果设置成true,将不会在swagger...,那么久可以使用http://host:port直接访问到SwaggerUI页面了 3、IndexStream Swagger的UI页面是嵌入的资源文件,默认值是: app.UseSwaggerUI(options

    94120

    Swashbuckle.AspNetCore3.0的二次封装与使用

    关于 Swashbuckle.AspNetCore3.0 一个使用 ASP.NET Core 构建的 API 的 Swagger 工具。...直接从您的路由,控制器和模型生成漂亮的 API 文档,包括用于探索和测试操作的 UI。...currentAssembly.GetManifestResourceStream($"{currentAssembly.GetName().Name}.index.html"); } 若想注入 css,js 则在 UseSwaggerUIAction 委托中调用对应的方法接口...,官方文档 另外,目前 swagger-ui 3.19.0 并不支持多语言,不过可以根据需要使用 js 去修改一些东西 比如在 index.html 的 onload 事件中这样去修改头部信息 document.getElementsByTagName...主题时使用的swagger-ui 为 3.19.0,从issues2488了解到目前不支持多语言,其他的问题也可以查看此仓库 在使用过程中遇到的问题,基本上 readme 和 issues 都有答案

    94740

    .NET Core 3.0 使用Nswag生成Api文档和客户端代码

    Swagger 是一个与语言无关的规范,用于描述 REST API。Swagger 项目已捐赠给 OpenAPI 计划,现在它被称为开放 API。这两个名称可互换使用,但 OpenAPI 是首选。...NSwag 是另一个用于生成 Swagger 文档并将 Swagger UI 或 ReDoc 集成到 ASP.NET Core Web API 中的开源项目。...为什么我在.NET core3.0中选择NSwag呢,因为Swashbuckle目前不在维护了,而NSwag比较活跃,一直在更新,功能也很强大,可以完美的代替Swashbuckle.AspNetCore...生成api文档(默认路由文档 /swagger/v1/swagger.json) app.UseSwaggerUi3();//添加Swagger UI到请求管道中(默认路由: /...swagger). } 配置项目 运行项目 右键项目在浏览器中查看,查看swagger UI需要在url后面添加“/swagger”。

    4.8K10

    在asp.net core2.1中添加中间件以扩展Swashbuckle.AspNetCore3.0支持简单的文档访问权限控制

    Swashbuckle.AspNetCore3.0 介绍 一个使用 ASP.NET Core 构建的 API 的 Swagger 工具。...直接从您的路由,控制器和模型生成漂亮的 API 文档,包括用于探索和测试操作的 UI。...继上篇Swashbuckle.AspNetCore3.0 的二次封装与使用分享了二次封装的代码,本篇将分享如何给文档添加一个登录页,控制文档的访问权限(文末附完整 Demo) 关于生产环境接口文档的显示...我有两种想法 将路由前缀改得超级复杂 添加一个拦截器控制 swagger 文档的访问必须获得授权(登录) 大佬若有更好的想法,还望指点一二 下面我将介绍基于 asp.net core2.1 且使用了 Swashbuckle.AspNetCore3.0...swagger 相关请求,判断是否授权登录 若未登录则跳转到授权登录页,登录后即可访问 swagger 的资源 如果项目本身有登录系统,可在自定义中间件中使用项目中的登录, 没有的话,我会分享一个简单的用户密码登录的方案

    1.1K10

    使用Swagger记录ASP.NET Web API

    在本文中,我将介绍一些可以为ASP.NET Web API生成文档的方法。在开发Web API的过程中你会发现,默认模板已经包含了为可实现的API 生成文档的功能。...安装完成后,你只需更改项目设置以生成XML说明文件(这不是必需的步骤,但很有用 - 请参阅下面的图像),然后配置App_Startup文件夹下的SwaggerConfig.cs文件。...UI,如下所示: [fu7hh1znp.png] [qjk342ru1q.png] 这是十分令人印象深刻的动态文档UI。...我将Maven安装了在Java目录中,并把它(特别是bin目录)添加到系统路径(System Path)中: [e1d487cj1e.png] 准备好之后,你需要将Swagger Codegen代码解压缩到本地目录中...根据我的配置,我把提取的swagger文件放在C:\Tools中。

    2.2K70

    再见了,Swagger:那么.NET 9如何重新定义API文档?

    为什么微软移除Swagger? 微软宣布,标准Web API模板中的Swagger集成将被取消,原因是Swashbuckle缺乏持续维护。...Swashbuckle.AspNetCore包一直被广泛用于生成Swagger文档。...然而,与长期以来提供交互式界面以显示API端点的Swagger不同,Microsoft.AspNetCore.OpenApi并没有自带用户界面。...以下是几种选择: 手动重新添加Swashbuckle 开发者如果喜欢Swagger的界面,仍然可以手动将Swashbuckle.AspNetCore集成到.NET 9项目中。...尽管这种方法保留了熟悉的体验,但需要额外的设置,而且由于该包缺乏活跃的维护,未来可能无法获得长期支持或升级。 使用NSwag NSwag是Swagger的替代方案,提供类似的功能,并且目前仍在维护。

    11700

    ASP.NET Core 实战:构建带有版本控制的 API 接口

    首先我们需要在 ConfigureServices 方法中,将我们的服务添加到 IServiceCollection 容器中,这里,我们需要为生成的 Swagger Document 进行一些配置。...我们使用 API 文档的目的,就是为了让前端知道请求的方法地址是什么,需要传递什么参数,而现在,并没有办法显示出我们对于参数以及方法的注释,通过查看 Swashbuckle.AspNetCore 的 github...在重新生成项目的过程中,你会发现,错误列表会显示很多警告信息,提示我们一些方法没有添加 XML 注释。...如果你和我一样强迫症的话,可以把 1591 这个错误添加到上面的禁止显示警告中,这样就可以不再显示这个警告了。 ?   ...通过 Swagger 自带的 API 测试工具测试下我们的接口,原来这里请求的 Url 中已经包含了我们定义的版本信息,当我们指定错误的版本信息时,工具也会告诉我们这个版本的接口不存在。 ?

    1.2K30

    【swagger】C# 中 swagger 的使用及避坑

    3 显示说明 swagger 可以读取代码中的注释,并显示在网页上。如此一来,我们只需要在代码中将注释写好,就可以生成一份可供他人阅读的 API 文档了。...Rendering Swagger UI": "已加载资源信息。..."); }); 5 路由相同,查询参数不同的方法 在实际的 ASP.NET Web API 中,是可以存在 路由相同,HTTP 方法相同,查询参数不同 的方法的,但不好意思,swagger...这可以避免报错,但多个方法只会在 swagger 中展示一个。治标不治本,不推荐。所以唯一的解决方案就是设置成不同的路由。不知道这个问题在之后的版本中会不会修复。...给这些属性标记上 [Newtonsoft.Json.JsonIgnore] 特性,swagger 中不再显示了。

    7.3K21

    我这么玩Web Api(一)

    Web API的方法列表已经显示出来了,但是方法的描述还是默认的描述。 3. 修改配置文件生成位置   右键项目属性,指定输出xml。 ?   ...修改Areas\HelpPage\App_Start\HelpPageConfig.cs中register方法里指定的xml路径为上述指定输出的路径。 ?   ...再查看帮助页面,方法描述已经和代码注释一致。 ?   注:这里可根据需要把Area中对应页面的英文词条更新成中文,当然样式也可以调整。...然后就可以浏览生成的帮助页面:http://localhost:xxxx/swagger ?   Web API的方法列表已经显示出来了,但是方法的描述还没有显示出来。 2....常见异常   用Nuget引用dll的时候,它会在config中添加依赖项信息,但偶尔会没添加,这时会出现Could not load file or assembly 'XXX' or one of

    73950

    了解 .NET 9 中的新增的包 Microsoft.AspNetCore.OpenApi

    .NET9 剔除内置的 Swagger/Swashbuckle 组件,新增 Microsoft.AspNetCore.OpenApi 包。...然后,Swagger UI 等工具可以使用这些文档,为开发人员提供用户界面,以便快速轻松地与 API 交互,例如在测试时。...虽然 NSwag 和 Swashbuckle 多年来一直为社区提供良好的服务,但最近这两个库的维护和更新量都有所下降。这导致每个新版本在这些库中利用和/或支持框架新功能的能力滞后。...我认为这在现阶段并不是一个重大差距,因为仍然可以通过继续使用 Swashbuckle.AspNetCore.SwaggerUI NuGet 包来轻松地将 Swagger UI 添加到您的应用程序中。...事实证明,这个分析器中存在一个错误,它没有捕获某些使用模式,这就是它以前没有被捕获的原因。 将代码更改为 use 是一个很容易的更改,但这并没有回答为什么首先要花费这么多时间的问题。

    17110

    尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性

    在Visual Studio 2022中,按F5运行,如果在浏览中打开并显示如下页面,说明最小API项目运行正常,如图: 在最小API项目中,直接调用WebApplication.MapGet()方法即可完成路由的注册和映射...首先,在Nuget包管理工具中搜索Swashbuckle,然后安装Swashbuckle.AspNetCore组件,如图: 然后注册Swagger的服务和路由,完整的示例如下: using Microsoft.OpenApi.Models...注册Swagger的路由 /// app.UseSwagger(); /// /// 注册Swagger UI的路由 /// app.UseSwaggerUI...(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Api v1")); app.Run(); 运行后的Swagger界面如图: 在最小API应用程序中...的路由 /// app.UseSwagger(); /// /// 注册Swagger UI的路由 /// app.UseSwaggerUI

    5.2K30
    领券