写点什么

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

评论

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

2022 世界人工智能大会|人工智能与开源技术先锋论坛即将开幕

Kyligence

开源技术 人工智能大会

校区多,客情管理难?看中进教育使用明道云的新解法

明道云

技术分享 | 测试人员必须掌握的测试用例

霍格沃兹测试开发学社

最常见的两个Jenkins问题,以及解决方法

龙智—DevSecOps解决方案

ci CI/CD CI/CD管道

【小程序项目开发 --- 京东商城】 启航篇之uni-app项目搭建

计算机魔术师

8月月更

项目经理和ScrumMaster可以是同一个人吗?

ShineScrum

Scrum 敏捷 ScrumMaster 项目经理

NFT平台开发:NFT数字馆藏平台开发

开源直播系统源码

数字藏品软件开发 数字藏品开发 数字藏品系统

入门机器学习?还是先抢救一下数学吧!

博文视点Broadview

节能环保LED显示屏为什么是未来发展趋势?

Dylan

LED显示屏 led显示屏厂家

GOPS现场 | 对话龙智董事长何明,探讨DevOps安全新概念

龙智—DevSecOps解决方案

运维 GOPS大会 GOPS全球运维大会

你还有什么问题吗?

AlwaysBeta

程序员 面试

厚积薄发--一文带您了解阿里云 RocketMQ 轻量版消息队列(MNS)

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

【小程序】view视图,swiper轮播图,scroll-view滑动列表 (在线详细手册)

计算机魔术师

8月月更

leetcode 227. Basic Calculator II 基本计算器 II(中等)

okokabcd

LeetCode 算法与数据结构

Kyligence 亮相 Gartner 2022 数据与分析峰会,解锁数据智能新潜力

Kyligence

数据管理 指标中台

这份SVN命令备忘清单,请查收

龙智—DevSecOps解决方案

svn 版本控制系统

如何建立开源战略

龙智—DevSecOps解决方案

开源 漏洞修复 漏洞检测 漏洞管理

【小程序项目开发-- 京东商城】uni-app开发之配置 tabBar & 窗口样式

计算机魔术师

8月月更

网络组件axios可以在OpenHarmony上使用了

OpenHarmony开发者

Open Harmony

字节跳动基于 ClickHouse 优化实践之“查询优化器”

字节跳动数据平台

OLAP Clickhouse 查询优化 数据库开发 数据引擎

为什么MatrixOne 0.5变慢了

MatrixOrigin

矩阵起源 MatirxOrigin MatirxOne 因子化

兆骑科创人才引进服务平台,线上直播路演,投融资对接

兆骑科创凤阁

移动端App自动化之触屏操作自动化

霍格沃兹测试开发学社

BulkProcessor异步批处理组件使用

大河

elasticsearch bboss bulkprocess

bboss数据同步ETL工具介绍

大河

elasticsearch ETL bboss

蓝牙5.0简介、nRF52832 BLE样例工程框架及main函数初始化流程简析

矜辰所致

蓝牙 启动流程 8月月更 nRF52832

技术分享 | 这些常用测试平台,你们公司在用的是哪些呢?

霍格沃兹测试开发学社

兆骑科创创新创业服务平台,海内外高层次人才引进,赛事承办

兆骑科创凤阁

AntDB最新成果亮相全球分布式云大会,推动企业数字化变革深入

亚信AntDB数据库

AntDB

Elasticsearch添加修改删除索引文档

大河

elasticsearch bboss

如何应对ITSM难题,打造现代化、高效的ITSM解决方案?

龙智—DevSecOps解决方案

ITSM ITSM软件 ITSM解决方案

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