写点什么

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:002839

评论

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

探索YashanDB在电商行业的独特优势

数据库砖家

利用 YashanDB 来提升数据处理效率

数据库砖家

探索YashanDB的应用场景:适合行业8大应用实例

数据库砖家

如何通过YashanDB优化数据备份与恢复策略

数据库砖家

如何选择YashanDB数据库的最佳硬件配置

数据库砖家

YashanDB与容器化技术

数据库砖家

NoSuchMethodException

刘大猫

人工智能 云计算 算法 物联网 大模型

如何通过YashanDB优化企业数据策略

数据库砖家

选定 YashanDB 的适当数据库模型

数据库砖家

探索YashanDB数据库在大数据处理中的应用

数据库砖家

探讨YashanDB数据库在教育领域的应用模式

数据库砖家

HTB Eureka靶机渗透实战 - Spring Boot堆转储与Bash算术注入漏洞利用

qife122

spring-boot 命令注入

通过 YashanDB 提升数据分析的准确性

数据库砖家

如何选择合适的YashanDB数据库配置以满足需求

数据库砖家

探讨YashanDB与物联网数据融合的潜力

数据库砖家

探索YashanDB数据库中的数据模型设计

数据库砖家

如何选择YashanDB数据库满足您的业务需求

数据库砖家

探索和利用YashanDB API集成能力的建议

数据库砖家

探索YashanDB数据库在社交媒体分析中的作用

数据库砖家

探讨YashanDB数据库在数据湖中的价值

数据库砖家

如何通过YashanDB提升机器学习数据处理效率

数据库砖家

从Chrome渲染器代码执行到内核:MSG_OOB漏洞分析与利用

qife122

Linux内核 Chrome沙箱

Valley靶机渗透实战:从凭证复用到Python库劫持

qife122

渗透测试 权限提升

如何通过YashanDB提升数据分析能力

数据库砖家

如何通过YashanDB优化数据驱动决策

数据库砖家

如何选择YashanDB的云部署模式以满足业务需求

数据库砖家

如何选择YashanDB以满足企业数据安全需求

数据库砖家

在AI技术快速实现创意的时代,挖掘游戏开发框架新需求成为关键

qife122

游戏开发 开源框架

Linux发行版切换技术全解析

qife122

Linux 虚拟化

如何选择合适的YashanDB数据库版本以满足需求

数据库砖家

探索YashanDB的时间序列数据管理能力

数据库砖家

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