开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

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

评论

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

京东区块链之供应链应用篇:溯源应用结合区块链能碰撞出什么火花?

京东科技开发者

区块链 供应链

架构师训练营第四周作业

Shunyi

极客大学架构师训练营

架构师训练营第 1 期第四周总结

Leo乐

极客大学架构师训练营

浅析 Golang 垃圾回收机制

郭旭东

Go 语言

阿里内部绝密《百亿级并发系统设计》实战教程,冒着被劝退的风险免费分享

Java架构之路

Java 阿里巴巴 程序员 面试 编程语言

《Linux学习笔记》从常用命令、常用操作到网络管理、性能优化

Java架构之路

Java Linux 程序员 面试 编程语言

拯救深度学习:标注数据不足下的深度学习方法

华为云开发者联盟

学习 AI 训练

通证、通证经济与区块链

CECBC

区块链 通证经济

架构师训练营第一期-第四周学习总结

卖猪肉的大叔

极客大学架构师训练营

架构师训练营 1 期 - 第四周 - 系统架构

三板斧

极客大学架构师训练营

5张表的sql整懵阿里p7:你们能看明白自己写的啥吗?

小Q

MySQL 数据库 学习 调优 mycat

区块链将这样影响你的生产生活

CECBC

区块链 信息发展

MySQL-技术专题-SQL优化系列

洛神灬殇

研发和测试在多国陆续展开 全球央行数字货币研发驶入快车道

CECBC

数字货币 金融

第四周学习代码系统架构总结

三板斧

你掉进过“伪敏捷”的陷阱吗?

华为云开发者联盟

项目管理 软件 敏捷

上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间

Java架构师迁哥

【人人都懂密码学】一篇最易懂的Java密码学入门教程

华为云开发者联盟

加密 密码

看看专科程序员与本科程序员之间,到底有什么区别?

Java架构师迁哥

架构师训练营第一期-第四周课后作业

卖猪肉的大叔

极客大学架构师训练营

Flink处理函数-6-4

小知识点

scala 大数据 flink

如何设计一个牛逼的API接口

Java旅途

Spring Boot API

Java 中的反射是什么

Rayjun

Java 反射

2020亚马逊全球Prime会员日为会员节省金额超过14亿美金

爱极客侠

Vidyo整个产品架构是怎样的?

dwqcmo

音视频 集成架构 解决方案 智能硬件

本周学习总结

饺子

《Java核心技术总结》+《面试题总结》PDF整理,阿里P8大牛熬了半个月肝出来的!

Java架构之路

Java 阿里巴巴 程序员 面试 编程语言

数据库技术丨GaussDB(DWS)数据同步状态查看方法

华为云开发者联盟

数据库 高可用

有符号类型引发的奇怪现象

jiangling500

上线GitHub七天后就标星87.6K的Java大牛成长宝典,啃完之后成功面进字节!

Java架构追梦

Java 学习 架构 面试 核心知识点

大型互联网应用系统的技术方案和手段

饺子

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