Firestore 多数据库普遍可用:一个项目,多个数据库,轻松管理数据和微服务

作者 | Renato Losio 译者 | 明知山 策划 | 丁晓昀

于 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/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

TikTok 拼死一战:弹窗 1.7 亿用户强势反击,国会 1 分钟 20 个电话被打爆

微软 Copilot 生成暴力色情图且拒不更改,内部工程师绝望举报至政府!

奥特曼无罪重返董事会!谷歌华人工程师被捕:号称自己能力“全球仅10个”;美国要求字节跳动半年内剥离TikTok  | Q资讯

谷歌:不建议未成年人接触 C++,太过危险!Yann LeCun 和马斯克看到都笑了

相关推荐

  • 真正的“睡后”收入!| 极客时间
  • 爆发式增长业务的高可用架构优化之路 | ArchSummit 深圳
  • 李彦宏“程序员将不再存在”言论被周鸿祎驳斥,网友怒怼:先把百度程序员都开除了!
  • 90 后华人团队真来砸程序员饭碗了!推出全球首个 AI 超级工程师:拥有全栈技能,一个指令就能完成整个开发过程
  • 全球首位AI工程师Devin发布上线!对手还是队友?
  • 也谈当下碎片化时代如何高效搜索:兼论2024年3月份大模型技术进展半月总结
  • 张钹院士:从大语言模型到通用人工智能
  • 月薪已炒到15w?真心建议大家冲一冲新兴领域,工资高前景好,人才缺口极大!!!
  • LLM + GNN = ?
  • 10 个解放双手的 IDEA插件,少些冤枉代码
  • 小红书春招内推。。
  • 刚刚,马斯克xAI官宣开源自家大模型Grok!网友:现压力给到了OpenAI
  • 没房贷的下属太可怕了。。。
  • LLM将成历史?开源bGPT或颠覆深度学习范式:直接模拟二进制,开启模拟数字世界新纪元!
  • 斩获7项奥斯卡大奖,Nature重磅发布《奥本海默》专题!诺兰断言:AI时代人类再次迎来「奥本海默时刻」
  • 颜水成/程明明新作!Sora核心组件DiT训练提速10倍,Masked Diffusion Transformer V2开源
  • GPT-4.5 Turbo提前泄露?Altman亲自暗示新模型要来,传言本周四上线
  • 全球首个AI程序员诞生,码农饭碗一夜被砸!10块IOI金牌华人团队震撼打造,996写代码训练模型
  • 分享6个关于 Vue3 的小技巧
  • 用大模型测试人格/抑郁/认知模式!通过游戏剧情发展测量心理特质|清华出品