在 .NET 9 中使用 Scalar 替代 Swagger

简介: 在 .NET 9 中使用 Scalar 替代 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文档。

Scalar介绍

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

下载EasySQLite项目

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

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

相关文章
|
XML 数据可视化 程序员
(一).NET Core WebAPI集成Swagger做接口管理
什么是Swagger? Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。 Swagger 有什么优势? 支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需
(一).NET Core WebAPI集成Swagger做接口管理
C# .net webapi使用swagger时显示controller注释
C# .net webapi使用swagger时显示controller注释
257 0
|
5月前
|
XML 开发框架 .NET
ASP.NET Web Api 如何使用 Swagger 管理 API
ASP.NET Web Api 如何使用 Swagger 管理 API
144 1
|
8月前
|
API Go
.NET7 Preview4 之OpenAPI swagger改进
.NET7 Preview4 之OpenAPI swagger改进
63 0
|
8月前
|
XML API 数据库
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
138 0
|
开发框架 安全 中间件
Asp.Net Core遇到Swagger(五)-Swashbuckle-Jwt篇
Asp.Net Core遇到Swagger(五)-Swashbuckle-Jwt篇
192 0
Asp.Net Core遇到Swagger(五)-Swashbuckle-Jwt篇
|
开发框架 JSON 前端开发
Asp.Net Core遇到Swagger(一)-Swashbuckle基础篇
Asp.Net Core遇到Swagger(一)-Swashbuckle基础篇
185 0
Asp.Net Core遇到Swagger(一)-Swashbuckle基础篇
|
JSON 开发框架 安全
Asp.Net Core遇到Swagger(四)-Swashbuckle技巧c篇(下)
Asp.Net Core遇到Swagger(四)-Swashbuckle技巧c篇(下)
226 0
|
开发框架 .NET
Asp.Net Core遇到Swagger(四)-Swashbuckle技巧c篇(上)
Asp.Net Core遇到Swagger(四)-Swashbuckle技巧c篇
200 0
|
开发框架 .NET API
Asp.Net Core遇到Swagger(三)-Swashbuckle技巧b篇(下)
Asp.Net Core遇到Swagger(三)-Swashbuckle技巧b篇(下)
118 0