AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

Swift OpenAPI Generator 发布 1.0 稳定版

  • 2024-03-26
    北京
  • 本文字数:827 字

    阅读完需:约 3 分钟

大小:396.50K时长:02:15
Swift OpenAPI Generator发布1.0稳定版

于6个月前开源Swift OpenAPI Generator现已到了稳定版。1.0 版本带来了新特性和简化的 API。


Swift OpenAPI Generator 是一个开源的 Swift 包插件,可用于自动生成访问或实现使用 OpenAPI 描述的 HTTP 端点所需的代码。该插件可以在构建时运行,确保生成的代码始终与 API 的最新 OpenAPI 描述保持一致,并且能够生成用于调用 API 的代码以及用于与相应服务器端服务集成的存根。


1.0 版本带来的新特性包括采用 AsyncSequence 来启用 JSON 事件流和无缓冲的大型负载;支持类型安全的常见内容类型,包括 JSON、多部分、URL 编码等;通过灵活的客户端和服务器端抽象更好地解耦生成的代码。


在客户端,Swift OpenAPI Generator 创建的类可以与支持 ClientTransport 协议的任何 HTTP 框架一起使用。在服务器端,可以兼容任何符合 ServerTransport 协议的 Web 框架。


尽管努力确保API 稳定性,但在修改 OpenAPI 规范后,生成的代码可能会破坏你的程序,你需要修复其使用方式,这可能会影响客户端和服务器端代码。


一般来说,当你修改 OpenAPI 文档来添加新的响应、内容类型、删除必需的属性或重命名模式时,你的 Swift 代码也需要做出修改以适应新生成的代码。


例如,当向现有操作添加新的响应或向现有响应添加新的内容类型时,Swift OpenAPI Generator 将创建一个新的 enum case 来处理它。这意味着所有使用该 enumswitch 语句都需要显式处理这个新 case,这样才能通过编译器检查,除非它们实现了 default case。当然,default case 可以确保你的程序在编译时不会发生中断,但这并不一定意味着它将产生正确的结果。


向现有模式中添加新属性是另一种情况。如果你的代码没有捕获相应 structinit 方法签名,这种修改就不会发生中断。作为一般规则,你不应该在公共 API 中包含生成的代码(包括模式初始化器)。


Swift OpenAPI Generator 1.0 与 OpenAPI 3.0 和 3.1 规范兼容,可在 Swift Package Index 上获得。


原文链接

https://www.infoq.com/news/2024/02/swift-openapi-generator-1-0/

2024-03-26 08:002696

评论

发布
暂无评论
发现更多内容

虚拟云桌面和共享云桌面有啥区别

青椒云云电脑

云桌面

云桌面应用下的数据防护新思路

青椒云云电脑

云桌面

八种十倍提升API性能的方式

树上有只程序猿

数据库 服务器 API 接口

无障碍测试解读

QE_LAB

无障碍 测试技术干货 测试技术

不同构架云桌面的部署风险

青椒云云电脑

云桌面 青椒云云桌面

WorkPlus打造统一用户管理平台,实现企业用户管理的一体化

BeeWorks

云桌面跟PC相比能有哪些不一样的体验?

青椒云云电脑

桌面云 云桌面

企业选择云桌面系统的主要原因是什么?

青椒云云电脑

云桌面

云桌面GPU技术方案

青椒云云电脑

图形工作站

云电脑多久能替代普通 PC?

青椒云云电脑

云电脑

虚拟云桌面在实验教学中的应用与实践

青椒云云电脑

桌面云 云桌面

五点告诉我们云教室比传统机房好

青椒云云电脑

云教室

作业

大肚皮狒狒

业务喜报丨九科信息成功签约四川中烟工业有限责任公司成都卷烟厂RPA项目

九科Ninetech

RPA RPAxAI

WorkPlus——高效私有化办公平台,实现即时协作与信息安全的完美结合

BeeWorks

云桌面在教学中的应用

青椒云云电脑

云桌面

祝贺!Databend Cloud 入驻 AWS 云市场

Databend

【效率提升】手把手教你如何使用免费的 Amazon Code Whisperer 提升开发效率堪比 GitHub Copilot 平替

亚马逊云科技 (Amazon Web Services)

WorkPlus Meet白板和文档共享功能上线,私有化视频会议全新升级

BeeWorks

云桌面系统的运用优势有哪些?

青椒云云电脑

云桌面

影响云桌面性能的三个重要因素是什么?

青椒云云电脑

云桌面

LeetCode题解:7. 整数反转,迭代,JavaScript,详细注释

Lee Chen

JavaScript LeetCode

如何实现虚拟云桌面?

青椒云云电脑

桌面云 云桌面

腾讯云TDSQL- C Serverless 2.0版发布,多项核心技术首次公开解析

极客天地

使用云电脑9条注意事项

青椒云云电脑

云电脑

什么是云电脑?

青椒云云电脑

云电脑

Go 函数

小万哥

Go 程序员 后端 开发 Google

私有化部署即时通讯平台,完美替代飞书和钉钉的SaaS系统

BeeWorks

不同构架云桌面的部署风险

青椒云云电脑

云桌面

为什么要使用虚拟云桌面?

青椒云云电脑

云桌面 青椒云云桌面

Swift OpenAPI Generator发布1.0稳定版_Android/iOS_Sergio De Simone_InfoQ精选文章