AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

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

评论

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

世界那么大,你有偏见吗?

谢锐 | Frozen

创业 技术管理

写给产品经理的信(2):产品设计能力怎样进阶

punkboy

产品 个人成长 产品经理 产品设计 进阶

已发表的技术文章-大数据方面

绝影-大数据

Flink 完美搭档:数据存储层上的 Pravega

Apache Flink

大数据 flink 流计算 实时计算

我们都可能陷入经济困境

董一凡

生活

阿里的OceanBase上天了,但你还不会用Explain看SQL的查询计划吗?

Super~琪琪

MySQL 数据库 后台开发 后端

【转载】如何在团队中做好Code Review?

北纬32°

df 和 ls 命令执行夯主

首富手记

生产力

不要抱怨,也别憋屈

孙苏勇

职场 随笔杂谈

系统化服务构建-软件工程分层

图南日晟

微服务 软件工程 架构设计

docker19.03读取NVIDIA显卡

首富手记

Docker Dockerfile

自制操作系统

贾献华

字符与编码

引花眠

计算机基础 utf-8

实战 Java8-CompletableFuture

子路无倦

Java 多线程 java8 CompletableFuture

C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介

Python名人堂

C# .net 算法 LeetCode

技术工作中的颜值

N维空间的尘埃

怎么控制老板不断加需求?

kimmking

要和竞争对手做比较吗?

邓瑞恒Ryan

创业 战略管理

美国播客节目《指数视角》专访李飞飞:疫情、 AI 伦理、人才培养

神经星星

人工智能 程序员 李飞飞 硅谷 AI 伦理

谈谈控制感(10):怎么做一个靠谱的人

史方远

职场 心理 成长

ARTS week 1

丽子

Java开发工具与HelloWorld

编号94530

Java eclipse Hello World ! IDEA 开发工具

这个名字,你不能再读错了

小天同学

历史 科普

我的时间管理之路(附工具集合及使用心得)

YoungZY

App 时间管理

重新开始,被自己搞砸的生活

小天同学

个人感想 日常思考

孩子,我们在睡前一起来阅读 15 分钟的好书,让彼此都带着好的故事入眠。

叶小鍵

正确阅读 托马斯·奥本 Doug Antin 蒂·泰德罗克

短视频时代下的知识摄取

Neco.W

学习 知识管理 知识体系 短视频

Java运算符实际运用

凌轩

Java 编程语言

关于用户体验的一些思考

码字与律动

android 产品开发

如何在团队中做好Code Review

Ken

团队协作 代码审查 Code Review 代码质量

ARTS打卡 第1周

引花眠

ARTS 打卡计划

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