.NET 9 - 尝试一下Open Api 的一些变化

embedded/2024/10/25 14:16:44/

1.简单介绍

.NET 9 中 OpenAPI 也有一些变化,这边也简单体验一下.NET 9 中的OpenAPI的变化,具体的话,可以参考如下文章,谢谢

.NET 9 OpenAPI

2. .NET 8的OpenAPI

这边以Visual Studio 2022中的ASP.NET Core Minimal API模板来创建项目,

2.1 创建项目并配置OpenAPI

1)创建项目时候,默认勾选 Enable OpenAPI support

        

2) 发现默认OpenAPI相关的配置如下

        

3)默认加入了 Swashbuckle.AspNetCore package

        

2.2 运行一下

可以访问生成的Swagger UI和OpenAPI document

Swagger UI - https://localhost:<port>/swagger/index.html
OpenAPI document(运行时候生成的) -  https://localhost:<port>/swagger/v1/swagger.json

3. .NET 9的Open API

3.1 创建项目并配置OpenAPI

1) 创建项目时,选中 Enable OpenAPI support

        

2) 创建项目后,发现在program文件中现在变成了

        builder.Servers.AddOpenApi()

        builder.Services.MapOpenApi()

        

3)默认加入的nuget package是 Microsoft.AspNetCore.OpenApi,之前的Swashbuckle.AspNetCore默认没有添加了

        

3.2 运行一下

发现Open API的UI没有了,但是有OpenAPI document 生成, 地址是

https://localhost:<port>/openapi/v1.json

.NET 9 中 使用 package Microsoft.AspNetCore.OpenApi就可以生成OpenAPI document了

3.3 添加 OpenAPI UI

如果需要Swagger UI,也可以添加package

Swashbuckle.AspNetCore.SwaggerUI

        

同时配置为,

        

3.4 再次运行一下

Swagger UI已经有了,地址是

https://localhost:<port>/swagger/index.html

3.5 生成OpenAPI Document

.NET 9 中,使用package Microsoft.Extensions.ApiDescription.Server ,可以在编译时生成OpenAPI document

1) 添加package

        

2) 配置项目

        


3) 编译项目,发现多了OpenAPI document

        

4. .NET 9 中的变化

1) 内置支持OpenAPI document生成(在运行时阶段),

2) 使用SwashBuckle.AspNetCore的方式可能有变化

.NET 9 中OpenAPI也添加了一些别的新特性,比如

Microsoft.AspNetCore.OpenApi package 是aot兼容的

5.总结

以上简单比较了一下.NET8与.NET9中的OpenAPI

如果哪里有错误,麻烦告之,谢谢谢谢!


http://www.ppmy.cn/embedded/132350.html

相关文章

Ubuntu18.04(wsl)编译ceres-2.0.0版本

一、概述 由于需要在图优化过程中使用ceres库来作为优化的工具&#xff0c;需要使用到2.0.0版本的ceres库&#xff0c;在编译过程中遇到一些问题&#xff0c;这里将其记录下面。 二、具体操作过程 &#xff08;一&#xff09;概述 使用的系统版本是wsl-Ubuntu18.04版本&#…

VantUI

官网&#xff1a;Vant 4 - A lightweight, customizable Vue UI library for mobile web apps. Vant组件库&#xff1a; 基础组件 按钮、图标、布局、提示信息等 表单组件 日历、复选框、时间选择、输入框、评分等 反馈组件 弹出框、加载、下拉菜单、消息提示、下拉刷新、滚动…

ubuntu 用 ss-tproxy的内置 DNS 前挂上 AdGuardHome,AdGuardHome实现的DHCP和DNS 去广告

目的&#xff1a; 使用 AdGuardHome 可以方便的查看 dns 日志、block 不想要的域名、以及广告过滤。 AdGuardHome 的配置和用法就不介绍了&#xff0c;这里只说下如何接入 ss-tproxy&#xff0c;挂到 chinadns-ng 前面&#xff1a; # 让 AdGuardHome 监听 53 端口 dns_mainp…

ESP32 ESP-IDF开发环境配置

目录 这里只列出了WIndows和Ubuntu下的环境配置教程。 一、配置ESP32开发环境 Ubuntu开发环境&#xff08;个人原因无法调试&#xff0c;其他正常&#xff09; 配置开发环境 WIndows开发环境 vscodeESP-IDF CLionESP-IDF 一、配置ESP32开发环境 配置开发环境挺麻烦的&…

flashback database 闪回数据库

1.修改闪回区大小&#xff0c;路径&#xff0c;保留时间 SQL> show parameter db_recovery_file_dest SQL> show parameter db_flashback_retention_targetSQL> alter system set db_recovery_file_dest_size20G scopeboth;System altered.SQL> alter system set …

深入计算机语言之C++:类与对象(中)

&#x1f511;&#x1f511;博客主页&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列专栏&#xff1a;从C语言到C语言的渐深学习 欢迎来到泊舟小课堂 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 一、默认成员函数 如果一个类中什么成员都没有&…

跨平台 OTT 项目使用 Google Analytics 替代 KPI log

关于 Google Analytics https://developers.google.com/analytics/devguides/collection/ga4?hlzh-cn Google Analytics 是一款分析服务&#xff0c;可帮助您衡量各种平台上的流量和互动情况&#xff0c; 例如网站和应用利用 Google Analytics&#xff0c;您可以优化您的广告…

.net framework 3.5sp1插件怎么安装

以下是在不同操作系统电脑上安装.NET Framework 3.5 SP1 的几种常见方法&#xff1a; 一、Windows 10 及以上操作系统&#xff1a; 1.在线安装&#xff08;需要网络连接稳定&#xff09;&#xff1a; 按键盘上的 Windows 键&#xff0c;键入 “Windows 功能”&#xff0c;然…