写点什么

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

评论

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

窄带高清技术之百万级并发下的演唱会直播细节修复

阿里云CloudImagine

云计算 窄带高清 时代少年团 理想之途

【亲测可用】parallels desktop虚拟机激活密钥

Rose

Mac虚拟机 Parallels Desktop 18破解 PD虚拟机激活秘钥 PD18下载 Parallels 激活码

办公必备|PDF Reader Pro mac永久激活版 pdf编辑阅读器推荐

Rose

pdf编辑器 mac软件下载 PDF Reader Pro中文 PDF Reader Pro破解

Vue:打造属于自己的高质量自定义组件库

xfgg

Vue 组件

2023 CCF-百度松果基金正式启动申报!大语言模型、AIGC等热点课题首次公布

飞桨PaddlePaddle

【LLM for SE】顶会ICSE-2023发布LIBRO技术,利用大模型技术进行缺陷重现,自动重现率(33%)实现业界突破

华为云PaaS服务小智

云计算 华为云

文心一言 VS 讯飞星火 VS chatgpt (27)-- 算法导论5.1 2题

福大大架构师每日一题

福大大 ChatGPT 文心一言 讯飞星火

为什么双重效验锁要加volatile?

javacn.site

深度学习进阶篇[7]:Transformer模型长输入序列、广义注意力、FAVOR+快速注意力、蛋白质序列建模实操。

汀丶人工智能

人工智能 自然语言处理 深度学习 Transformer 注意力机制

Django笔记三十九之settings配置介绍

Hunter熊

Python django session database setting

信通院公布2023低代码·无代码最新评估结果,阿里云两案例入选!

云布道师

阿里云

标签系列:标签的两大行业应用实践

小鲸数据

CDP 精细化运营 标签体系 DMP 精准营销

军事领域关系抽取:UIE Slim最新升级版含数据标注、serving部署、模型蒸馏等教学,助力工业应用场景快速落地

汀丶人工智能

人工智能 自然语言处理 知识图谱 关系抽取 命名实体识别

Photoshop 2023(ps测试版)新功能:生成填充功能介绍

Rose

Photoshop 2023下载 PS测试版下载 PS2023新功能介绍

kafka消费者那些事儿

JAVA旭阳

kafka

Code Whisperer测评体验

長歌

C语言编程—字符串

芯动大师

6 月 优质更文活动

Alfred 5 for Mac(苹果效率提升工具) v5.1.1(2138)中文汉化版

Rose

mac效率工具 Alfred 教程 Alfred 5下载 Alfred 5破解版 Alfred 中文

玖章算术NineData荣获信通院“生成式人工智能技术和应用优秀案例”奖

NineData

人工智能 信通院 SQL开发 NineData 生成式AI

硬核Prompt赏析:AI老师长什么样?

无人之路

AI Prompt

免费好用的苹果Mac软件|Parallels Client远程控制

Rose

Mac远程控制软件 Parallels Client 下载

Word 2021 LTSC mac v16.73-中文正式版-永久许可证

Rose

Word 2021 许可证 Word 2021破解版 Word下载

如何使用Pixelmator Pro照片编辑器一键改善照片?

Rose

Pixelmator Pro破解 Pixelmator Pro中文 Pixelmator Pro下载 Mac照片编辑器

C4D必备的7个素材网站,很多爆款素材!

Finovy Cloud

C4D

Python潮流周刊#4:Python 2023 语言峰会

Python猫

Python

ChatGPT与软件架构(1) - 快速原型

俞凡

人工智能 架构 ChatGPT

Idea 社区版创建 Web 项目

Andy

黄仁勋盛赞英特尔下一代制造工艺,有望委托代工英伟达 AI 芯片

E科讯

2023-05-31:给定一个整数数组 A,你可以从某一起始索引出发,跳跃一定次数 在你跳跃的过程中,第 1、3、5... 次跳跃称为奇数跳跃 而第 2、4、6... 次跳跃称为偶数跳跃 你可以按以下

福大大架构师每日一题

golang 算法 rust 福大大

Generative AI 新世界 | 大语言模型(LLMs)在 Amazon SageMaker 上的动手实践

亚马逊云科技 (Amazon Web Services)

机器学习

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