当前位置: 首页 > article >正文

.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

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


http://www.kler.cn/news/356324.html

相关文章:

  • 配置啊手动阀打发第三方
  • SpringBoot物流管理平台开发全解析
  • 网站防护,高可用,雷池配置同步教程
  • 创新的语音情感识别:利用 WavLM Large 探索性别信息整合和高级汇集方法
  • 尚硅谷rabbitmq2024 工作模式发布订阅模式 第10节答疑
  • Python爬虫-eBay商品排名数据
  • 线性可分支持向量机的原理推导 标准优化目标 公式解析
  • JavaSE之String类
  • 将MySQL中按行记录的数据转换成按列记录
  • 【EJS】JavaScript 模板引擎
  • DC系列靶机-DC6
  • 深度学习代码学习笔记2
  • 超详细的Java Web开发
  • C++之《剑指offer》学习记录(3):拷贝构造函数
  • SpringBoot的Web项目Mybatis-plus多数据源
  • Python实现贪吃蛇大作战
  • 基于SpringBoot+Vue+uniapp微信小程序的澡堂预订的微信小程序的详细设计和实现
  • MYSQL OPTIMIZE TABLE 命令重建表和索引
  • CSS 居中那些事
  • YashanDB学习-数据库SQL基础操作