在 .NET 9 中使用 Scalar 替代 Swagger

news/2025/1/9 12:57:47/文章来源:https://www.cnblogs.com/Can-daydayup/p/18661940

前言

在.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项目,支持多种编程语言和平台。

  • scalar:https://github.com/scalar/scalar
  • scalar.aspnetcore: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;
                });
            });
            
            // 在开发环境中启用Scalar
            if (app.Environment.IsDevelopment())
            {
                app.MapScalarApiReference();//映射Scalar的API参考文档路径
                app.MapOpenApi();//映射OpenApi文档路径
            }

查看Scalar交互式API文档

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866519.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第九章 范围管理 (2025年详细解析版)

目录什么是范围管理?9.1 管理基础9.1.1 产品范围和项目范围9.1.2 产品范围和项目范围管理新实践9.2 项目范围管理过程9.2.1 过程概述9.2.2 项目范围管理过程9.2.3 裁剪考虑因素(了解)9.2.4 敏捷与适应方法总结9.3 规划范围管理1. 课程目标2. 过程定义:规划范围管…

Qt监控系统远程网络登录/请求设备列表/服务器查看实时流/回放视频/验证码请求

一、前言说明 这几个功能是近期定制的功能,也非常具有代表性,核心就是之前登录和设备信息都是在本地,存放在数据库中,数据库可以是本地或者远程的,现在需要改成通过网络API请求的方式,现在很多的服务器很强大,都提供了各种API接口,包括登录和拉取回放等,相当于直接对接…

debian10测试

https://help.aliyun.com/zh/ecs/user-guide/change-debian-9-or-10-repository-addresses?spm=a2c4g.11186623.0.0.52c44bccrP9uFq

C-V2X测试探秘系列之:电磁兼容试验方法

在智能网联汽车中,各种通信技术如2G/3G/4G/5G、GNSS(全球导航卫星系统)、V2X(车联网通信)等在行业内被广泛使用。这些技术让汽车能够实现紧急呼叫、在线娱乐、导航等多种功能。EMC测试就是为了确保在复杂电磁环境下,汽车的通信系统仍然可以正常工作,保护驾乘者的安全。参…

qwrt 旧版配置 fm350 教程

qwrt 旧版配置 fm350 教程网络-接口,左下角新建接口​ 选择协议-FM350 蜂窝网络​ 防火墙修改到 wan​ 如果需要查看信息​本文来自博客园,作者:铁流是宝宝,转载请注明原文链接:https://www.cnblogs.com/dawnings/p/18661915/qwrt-old-version-configuration-fm350-tutori…

普通的maven项目将main函数打包实现java -jar来运行

一、创建一个maven项目 假设groupId为org.example 则在src\main\java目录下创建一个org包,在其下创建一个example包,然后创建我们打包后要执行java类MyThread.java 二、在pom文件中添加以下build插件声明 在<project>标签内添加 <build> <plugins> …

前端实践-hexo博客

一.简单准备 1.准备工具:npm,nvm,node,git bash 2.全局安装hexo npm install -g hexo-cli hexo # -g 为全局安装 3.新建一个文件夹用于存放博客,例如blog, cd文件夹右键在此处gitbash执行(下面命令行均是gitbash执行)hexo init 执行npm install下载依赖 4.现在执行hex…

linux上下载安装配置tomcat

linux上下载安装配置tomcat 下载 https://tomcat.apache.org/ # tomcat官网安装 注意:tomcat需要jdk环境,参考:linux上安装jdk # 有安装包后,在linux新建目录 /opt/tomcat mkdir /opt/tomcat cd /opt/tomcat # 把安装包放到此目录,用xftp上传 # 在Linux上下载的,就进入压…

【每日一题】20250109

我在城市找不到存在感,每天不知道太阳从何方升起,又落向哪里,四季跟我的生活没有关系。我只看到树叶青了又黄了,春天来了,又去了。我在一岁岁地长年纪,一道道地长皱纹。【每日一题】一质量为 \(m\) 的物块恰好静止在倾角为 \(\theta\) 的斜面上,现对物块施加一个竖直向下…

蓝桥20092 录入成绩-分类讨论正确性推理

https://www.lanqiao.cn/problems/20092/learning/?page=1&first_category_id=1# 当匹配到G1的时候,在什么条件下会导致它不能被视为国一? # 1 1前面有偶数个G,分解为G, GG, GG... G1 可能会导致 G超过一个 # 1.1 涉及到G的数量问题, 数字前面有若干个G 举例, 若…

安川机械手维修YRC1000控制柜不能启动怎么办?

安川机械手YRC1000控制柜不能启动可能由以下原因导致:电源问题:电源线损坏或未插紧。电源模块故障,如指示灯不亮或电压不稳定。通信故障:通信线路连接不良或通信接口损坏。通信协议设置错误。控制逻辑故障:控制程序编写错误。硬件设备故障,如传感器或执行器损坏。显示屏故…

ABB工业机械臂SIB-01板维修步骤

ABB机器人SIB-01板维修步骤一、故障诊断:1、物理损坏:检查SIB-01板是否有明显的物理损坏,如烧焦、裂纹或其他损坏迹象。2、连接问题:确保SIB-01板与其他组件的连接牢固,没有松动或腐蚀。3、电池状态:如果SIB-01板上有电池,检查电池的电量是否充足。如果电池电量不足,可…