写点什么

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

评论

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

OpenHarmony接收指定网络的状态变化通知

坚果

OpenHarmony 三周年连更

Qz学算法-数据结构篇(查找算法--插值、斐波那契查找)

浅辄

数据结构 三周年连更

IDEA用上这十大插件绝对舒服

越长大越悲伤

IDEA idea插件

阿里云DTS数据同步实施

乌龟哥哥

三周年连更

华为云,用科技开启智慧化生活

轶天下事

OneNet服务器LWM2M物联网协议(智能井盖方案)

DS小龙哥

三周年连更

系统认知篇:防腐层、门面模式及适配模式的本质 | 京东云技术团队

京东科技开发者

软件架构 门面效应 适配器模式 企业号 4 月 PK 榜 防腐层

火山引擎分布式云原生平台,帮助企业用好分布式云

科技热闻

重磅|阿里云无影云电脑“魔方AS05”正式上市

云布道师

无影云电脑

华为云智能云接入ICA,让世界距离更近

YG科技

终于可以彻底告别手写正则表达式了

Java你猿哥

Java ssm 表达式 GPT

全面解析|搞懂Nginx这一篇就够了

浅羽技术

Java nginx 反向代理 服务器 三周年连更

MD5 到底算不算一种加密算法?

架构精进之路

算法 后端 加密 md5 三周年连更

AREX 流量回放实践分享

AREX 中文社区

自动化测试 回归测试 流量回放

OpenHarmony设备开发常用接口

鸿蒙之旅

OpenHarmony 终端设备开发 三周年连更

华为云云速建站,助力企业搭建网站省心又省力

YG科技

Django REST项目实战:在线中文字符识别

TiAmo

django RESTful 三周年连更

手撕代码系列(二)

Immerse

JavaScript 前端 ES6 ES6-ES12 JavaScript4

离散信源 R(D)计算及限失真信源编码定理

timerring

信息 信息论

华为云医疗智能体,助力医疗健康加速智能化

YG科技

使用Pinia:让Vue状态管理更简单

格斗家不爱在外太空沉思

Pinia 三周年连更

华为云搜索服务CSS,助力企业挖掘数据价值

轶天下事

零代码以“王者荣耀”为例解析设计七原则,助你面试拿“五杀”

陈言必行

设计原则 三周年连更

Matlab实现PSO算法

Shine

三周年连更

从原理聊JVM(三):详解现代垃圾回收器Shenandoah和ZGC

京东科技开发者

G1 ZGC JVM 企业号 4 月 PK 榜 Shenandoah

devops|中小公司效率为王,没必要度量

laofo

DevOps 研发效能 工程效率 效能度量 研发效能度量

华为云文字识别OCR-助力企业办公智能化不断发展

轶天下事

跨平台应用开发进阶(五十七):uni-app 通过 overrideUrlLoading 实现拦截 webview 窗口的 URL 跳转请求

No Silver Bullet

uni-app 跨平台应用开发 三周年连更 webview 窗口 URL 跳转请求拦截

【云原生】Docker之创建并进入mysql容器

A-刘晨阳

MySQL Docker Linux 三周年连更

【图解网络协议】面试官:三次握手都不会,回去等通知吧

袁袁袁袁满

三周年连更

MySql中执行计划如何来的——Optimizer Trace | 京东云技术团队

京东科技开发者

MySQL 数据库 企业号 4 月 PK 榜 Optimizer Trace

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