在 .NET 9 中使用 Scalar 替代 Swagger

news/2025/1/18 18:57:31/

前言

在.NET 9发布以后ASP.NET Core官方团队发布公告已经将Swashbuckle.AspNetCore(一个为ASP.NET Core API提供Swagger工具的项目)从ASP.NET Core Web API模板中移除,这意味着以后我们创建Web API项目的时候不会再自动生成Swagger API文档了。那么今天咱们一起来试试把我们的EasySQLite .NET 9的项目使用Scalar用于交互式API文档。

  • https://github.com/dotnet/aspnetcore/discussions/58103

Scalar介绍

Scalar是一个功能强大、易于使用的API客户端和文档生成工具,适用于各种规模的API项目,支持多种编程语言和平台。

  • https://github.com/scalar/scalar

  • https://github.com/scalar/scalar/tree/main/packages/scalar.aspnetcore

下载EasySQLite项目

EasySQLite是一个.NET 9操作SQLite入门到实战的详细教程,主要是对学校班级,学生信息进行管理维护。

  • 下载地址:https://github.com/YSGStudyHards/EasySQLite

git clone https://github.com/YSGStudyHards/EasySQLite.git

安装 Scalar.AspNetCore 包

在NuGet包管理器中搜索:Scalar.AspNetCore (支持.NET 8和.NET 9)选择安装:

安装 Microsoft.AspNetCore.OpenApi 包

用于添加OpenApi服务,这是Scalar所需的:

在 Program 中配置

            // 添加OpenApi服务,这是Scalar所需的builder.Services.AddOpenApi(options =>{options.AddDocumentTransformer((document, context, cancellationToken) =>{document.Info = new(){Title = "EasySQLite API",Version = "V1",Description = ".NET 8操作SQLite入门到实战"};return Task.CompletedTask;});});// 在开发环境中启用Scalarif (app.Environment.IsDevelopment()){app.MapScalarApiReference();//映射Scalar的API参考文档路径app.MapOpenApi();//映射OpenApi文档路径}

查看Scalar交互式API文档

在访问端口后面增加scalar/v1即可查看效果:

  • https://localhost:7240/scalar/v1


http://www.ppmy.cn/news/1564219.html

相关文章

关于SQL注入的面试题及经验分享(附视频教程)

在前两期的面试经验分享中,我们收到了小伙伴们的热烈反馈,大家对面试话题征集活动展现出了浓厚的兴趣,纷纷表示希望能够了解更多关于面试的技巧和经验。 《SQL注入从0到1》是一套完整的漏洞解析课程,本课程全面剖析SQL注入原理、…

Titans Learning to Memorize at Test Time

在语言建模任务上,拥有 760M 参数的 Titans(MAC) 在 WikiText 上达到了 19.93 的困惑度,显著优于同等规模的 Transformer++(25.21) 和 Mamba2(22.94)。在常识推理任务上,Titans 在包括 PIQA、HellaSwag、WinoGrande 等 9 个基准测试中的平均准确率达到 52.51%,超过了现…

JDBC 实战项目(增删改查小系统,接近完美!)017

今日推荐语 一个人如果追求不可能的事,当然就放弃了可能的事——塞万提斯 日期 学习内容 打卡编号2025年01月15日JDBC 项目实战总结017 前言 哈喽,我是菜鸟阿康。 今天给大家分享,我学完 JDBC 增删改查的实操项目&#xff0c…

laravel10.x 框架中间件实现原理

中间件概念简介 在Laravel 10.x中,中间件是一种在请求到达路由处理程序之前或者之后执行的代码。它就像一个关卡,可以检查、过滤或者修改进入应用程序的HTTP请求。中间件可以用于很多场景,比如身份验证(检查用户是否登录)、日志记录(记录请求信息)、CORS(跨域资源共享)…

CloudberryDB(四)并行执行

要查看CloudberryDB & Greenplum数据库的并行度配置,可以使用以下几种方法: ### 方法一:使用SHOW命令 在Greenplum数据库中,可以使用SHOW命令来查看当前的并行度配置。例如: sql SHOW gp_parallel_degree ; SH…

threejs中的相机与物体

设置物体在17,0,0的位置,相机在10,10,10的位置,物体只能看到一部分或者压根看不见,出现这个原因是 已经超出了相机可见的椎体区域,所以更改相机可见的范围,将相机往后拉,改为20,20,20,此时能看到…

栈和队列(数据结构初阶)

文章目录 栈和队列一:栈1.1概念与结构1.2底层逻辑1.3栈的实现结构定义判空入栈出栈取栈顶元素获取栈中有效数据个数 二:队列2.1概念与结构2.2底层逻辑2.3 队列的实现结构定义初始化入队判空出队取数据有效数据个数 三:结语 欢迎大家来到我的博…

【漏洞预警】FortiOS 和 FortiProxy 身份认证绕过漏洞(CVE-2024-55591)

文章目录 一、产品简介二、漏洞描述三、影响版本四、漏洞检测方法五、解决方案 一、产品简介 FortiOS是Fortinet公司核心的网络安全操作系统,广泛应用于FortiGate下一代防火墙,为用户提供防火墙、VPN、入侵防御、应用控制等多种安全功能。 FortiProxy则…