写点什么

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

评论

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

排序算法总结

乌龟哥哥

7月月更

Spring&SpringBoot 源码笔记整理 |Bean 的加载流程一

自由

Spring5源码解析 7月月更

TiDB 目录结构分析

TiDB 社区干货传送门

实践案例

TiDB 4.0 新特性也太爽了吧

TiDB 社区干货传送门

版本测评

TiDB 5.1 发版,打造更流畅的企业级数据库体验

TiDB 社区干货传送门

新版本/特性发布

TiDB系统调参实战经验

TiDB 社区干货传送门

性能调优 实践案例

TIDB 入门运维基础视频教程(一)-- 快速体验

TiDB 社区干货传送门

安装 & 部署

前端食堂技术周刊第 44 期:Bun、Vue.js 挑战、React 状态管理的新浪潮、Can I DevTools、函数式编程

童欧巴

Vue React Bun

一条 like 条件的慢 SQL 语句优化

TiDB 社区干货传送门

管理与运维

TSO 时间戳转换为自然时间

TiDB 社区干货传送门

实践案例

PD 关于tso 分配源代码分析

TiDB 社区干货传送门

TiDB 底层架构

SpringBoot核心应用第一弹

Java学术趴

7月月更

记一次TiDB优化

TiDB 社区干货传送门

性能调优

TiFlink: 使用 TiKV 和 Flink 实现强一致的物化视图

TiDB 社区干货传送门

实践案例 TiDB 底层架构

TiDB GC 之原理浅析

TiDB 社区干货传送门

TiDB 底层架构

TiDB 记录日志原理解读

TiDB 社区干货传送门

TiDB 底层架构

TiDB+FLINK 实时计算

TiDB 社区干货传送门

实践案例

悲观事务加锁验证

TiDB 社区干货传送门

管理与运维

TiDB 在网易游戏的应用实践

TiDB 社区干货传送门

实践案例

TiDB升级5.0.2有惊喜

TiDB 社区干货传送门

版本测评

Tidb灾难恢复演练-多副本丢失

TiDB 社区干货传送门

故障排查/诊断

一个联合索引使用问题以及优化方案

TiDB 社区干货传送门

管理与运维 故障排查/诊断

价值几十万的 TiDB优化

TiDB 社区干货传送门

实践案例

【TiDB 最佳实践系列】如何高效利用 Grafana 监控分析 TiDB 指标?

TiDB 社区干货传送门

监控

DELETE Statement,懂你不容易

TiDB 社区干货传送门

TiDB 底层架构

Placement Rules 原理

TiDB 社区干货传送门

TiDB 底层架构

PD 关于ID分配的源码分析

TiDB 社区干货传送门

TiDB 底层架构

当大数据架构遇上 TiDB

TiDB 社区干货传送门

实践案例

【SOP 系列】TiDB 使用 SOP 最全合集

TiDB 社区干货传送门

TiDB 底层架构

从一个简单的Delete删数据场景谈TiDB数据库开发规范的重要性

TiDB 社区干货传送门

故障排查/诊断

TiDB 赋权问题

TiDB 社区干货传送门

故障排查/诊断

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