网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > .Net >

.NET 9 增强 OpenAPI 规范,不再内置swagger

时间:2024-12-25 09:21

人气:

作者:admin

标签:

导读:在 .NET 9 的更新中,微软增强了原生 OpenAPI。这一变化表明 .NET 正在更加拥抱开放标准,同时让开发者体验更加轻松高效。本文将探讨为何进行这一更改、OpenAPI 的优势,以及如何在 .NE...

在 .NET 9 的更新中,微软增强了原生 OpenAPI。这一变化表明 .NET 正在更加拥抱开放标准,同时让开发者体验更加轻松高效。本文将探讨为何进行这一更改、OpenAPI 的优势,以及如何在 .NET 9 中使用 OpenAPI。


为什么不再内置 Swagger?

1. 标准化的需求

Swagger 是 OpenAPI 规范的早期实现,虽然功能强大,但它逐渐被视为工具集的一部分,而非行业标准。转向原生 OpenAPI 支持意味着 .NET 正式采用更具广泛认可的标准,从而提升与其他生态工具的兼容性。

2. 简化依赖关系

移除对 Swagger-specific 组件的依赖,使框架更简洁并降低复杂性。开发者可以直接依赖 OpenAPI 规范,而不是被局限在 Swagger 工具集内。

3. 灵活性与互操作性

OpenAPI 作为开放标准,被广泛支持于各类工具和平台(如 Postman、API 网关、自动化测试工具等)。这使得 .NET 应用程序更容易集成到多样化的技术栈中。


如何在 .NET 9 中使用 OpenAPI?

.NET 9 提供了对 OpenAPI 的原生支持,通过简单的配置即可生成 OpenAPI 文档并集成可视化工具,如 Swagger UI 和 Scalar API Reference。

以下是配置步骤:

1. 添加必要的服务

Program.cs 文件中,调用 AddOpenApi 方法注册 OpenAPI 支持。

2. 映射 OpenAPI 文档

使用 MapOpenApi 映射 OpenAPI 文档路径,便于开发和测试。

3. 集成可视化工具

通过 UseSwaggerUIMapScalarApiReference 添加交互式文档界面。

  • UseSwaggerUI 需要安装 Swashbuckle.AspNetCore.SwaggerUi 包。
    dotnet add package Swashbuckle.AspNetCore.SwaggerUi
  • MapScalarApiReference 需要安装 Scalar.AspNetCore 包。
    dotnet add package Scalar.AspNetCore

示例代码

以下代码展示了如何在 .NET 9 中配置和使用 OpenAPI:

using Scalar.AspNetCore;

namespace WebApplication2
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);

            // 注册控制器和 OpenAPI 服务
            builder.Services.AddControllers();
            builder.Services.AddOpenApi();

            var app = builder.Build();

            // 开发环境中启用 OpenAPI 文档和可视化工具
            if (app.Environment.IsDevelopment())
            {
                app.MapOpenApi(); // 映射 OpenAPI 文档路径
                app.UseSwaggerUI(options =>
                {
                    options.SwaggerEndpoint("/openapi/v1.json", "v1"); // 设置文档路径
                });
                app.MapScalarApiReference(); // 映射其他参考路径
            }

            app.UseAuthorization();

            // 映射控制器
            app.MapControllers();

            app.Run();
        }
    }
}

示例解析

  1. 服务注册

    builder.Services.AddOpenApi();
    

    此行代码启用了 OpenAPI 支持。

  2. 映射文档

    app.MapOpenApi();
    

    这将 OpenAPI 文档映射到默认路径 /openapi/v1.json

  3. 增加文档可视化

    app.UseSwaggerUI(options =>
    {
       options.SwaggerEndpoint("/openapi/v1.json", "v1");
    });
    app.MapScalarApiReference();  
    

    这将增加swagger和scalar两种可视化工具。

  4. 访问可视化工具

    • SwaggerUI 需要访问/swagger。

    • Scalar 需要访问/scalar/v1。

    这两个工具都可以用于可视化 OpenAPI 文档,提供交互式界面以测试 API。


总结

.NET 9 中移除内置 Swagger,增加 OpenAPI 支持,是一个符合行业趋势的重要改进。这一变化不仅提升了开发体验,也使得 .NET 应用能够更高效地与其他工具和平台协作。

通过 OpenAPI 的原生支持和灵活的可视化工具选择,开发者可以更轻松地生成文档、测试接口和集成服务。使用示例代码,立即开始在 .NET 9 中体验 OpenAPI 的强大功能吧!

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信