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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值