首页 > 其他分享 >在 .NET 9 中使用 Scalar 替代 Swagger

在 .NET 9 中使用 Scalar 替代 Swagger

时间:2025-01-09 13:11:24浏览次数:1  
标签:scalar EasySQLite Scalar API https NET Swagger

前言

在.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

标签:scalar,EasySQLite,Scalar,API,https,NET,Swagger
From: https://www.cnblogs.com/Can-daydayup/p/18661940

相关文章

  • 基于.NET8.0实现RabbbitMQ的Publish/Subscribe发布订阅以及死信队列
    本文github源码附上:https://github.com/yangshuqi1201/RabbitMQ.Core【前言】RabbitMQ提供了五种消息模型,分别是简单模型、工作队列模型、发布/订阅模型、路由模型和主题模型。‌‌简单模型(Simple)‌:在这种模式下,一个生产者将消息发送到一个队列,只有一个消费者监听并处理该队......
  • OSPF - 2、3类LSA(Network-LSA、NetWork-Sunmmary-LSA)
    前篇博客有对常用LSA的总结2类LSA(Network-LSA)DR产生泛洪范围为本区域作用: 描述MA网络拓扑信息和网络信息,拓扑信息主要描述当前MA网络中伪节点连接着哪几台路由。网络信息描述当前网络的掩码和DR接口IP地址。影响邻居建立中说到MA网络掩码需要一致,就是因为这里2类LS......
  • .NET 隐藏/显示、自定义windows系统光标
    本文介绍如何操作windows系统光标。正常我们设置/隐藏光标,只能改变当前窗体或者控件范围,无法全局操作windows光标。接到一个需求,想隐藏windows全局的鼠标光标显示,下面讲下如何操作 先了解下系统鼠标光标,在鼠标属性-自定义列表中可以看到一共有13种类型,对应13种工作状态:操作系......
  • .NET 窗口置于最顶层的几种方法
    本文介绍如何将窗口置于最顶层,以及解决在顶层显示时对锁屏登录界面的影响等问题。用于实现类似Launcher、系统工具等应用需要窗口层级比Windows开始菜单以及置顶任务栏还要高的场景一般情况下的窗口置顶,可以设置WPF窗口属性Topmost=true也可以使用WIN32-SetWindowPos函数SetWin......
  • .NET 窗口置于最顶层
    本文介绍如何将窗口置于最顶层,以及解决在顶层显示时对锁屏登录界面的影响等问题。用于实现类似Launcher、系统工具等应用需要窗口层级比Windows开始菜单以及置顶任务栏还要高的场景一般情况下的窗口置顶,可以设置WPF窗口属性Topmost=true也可以使用WIN32-SetWindowPos函数SetWind......
  • Kubernetes 监控实践:基于 Prometheus-Operator 的完整解决方案
    Kubernetes(K8s)的动态性和分布式特性为应用部署带来了极大的便利,同时也使监控变得复杂而繁琐。幸运的是,Prometheus-Operator提供了一种高效的方式,通过抽象Kubernetes的原生资源(CRD)来配置和管理整个监控栈,极大地简化了监控的部署和运维。本文将从实际操作出发,介绍如何通过Prome......
  • 基于ASP.NET的动漫网站
    一、系统架构与技术实现系统架构:基于ASP.NET的MVC框架构建,实现网站的层次结构,使得网站更加易于维护和扩展。技术实现:利用ASP.NET的技术特点,如强大的后端开发能力、丰富的UI控件等,结合前端技术如HTML、CSS、JavaScript等,设计并实现网站的各项功能。二、功能模块用户管理......
  • asp.net程序设计2675企业管理信息系统【源码+讲解视频】
    项目包含:源码、参考论文、讲解视频、说明文档,部署录像开发环境开发工具:VisualStudio2010或以上版本数据库:SQLServer2005或以上版本开发语言:c#操作系统:windows7或以上浏览器:GoogleChrome(推荐)、Edge、360浏览器随着电信技术和计算机技术的飞速发展,现代管理信息......
  • 华为光猫开启telnet,破解超级密码
    1.普通用户登录网关:http://192.168.1.1/login.cgi2.输入网址开启telnethttp://192.168.1.1/enableTelnet.cgi可以看到账号和密码,但没有应用按钮,默认是没有应用按钮,要f12debug控制台中断到194行if(cUserName!='useradmin'){document.writeln("\n");}根据代码,可以......
  • vue3项目yarn install遇到的info There appears to be trouble with your network con
    新接手的vue3项目在安装依赖的时候经常下载失败,报错Couldn'tfindpackage...onthe"npm"registry或者errorError:readECONNRESET1.可以改变当前的源查看当前使用的源yarnconfiggetregistry改变源yarnconfigsetregistryhttps://registry.npmmirror.com(推荐......