写点什么

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

评论

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

弹性伸缩,轻松上云-华为云弹性云服务器 ECS

清欢科技

假如问:你是怎样优化Vue项目的,该怎么回答

bb_xiaxia1998

Vue

C++基础IO流

可口也可樂

c++ IO流 10月月更

这次彻底读透 Redis

说故事的五公子

缓存 redis 底层原理

C++栈/队列/堆使用及模拟

可口也可樂

c++ 数据结构 10月月更

怎样徒手写一个React

helloworld1024fd

JavaScript

为什么普通用户也需要认识华为云CDN?

清欢科技

今天终于知道 Redis 为什么要用跳跃表了

C++后台开发

redis 中间件 后端开发 跳表 C++开发

前端展示中实现批量标签动态生成

葡萄城技术团队

批量 BI 报表 商业智能 打印

盘点 | 主流跨平台软件开发技术方案

Speedoooo

小程序 APP开发 跨端开发 小程序容器 小程序化

react hook 源码完全解读

flyzz177

React

优秀开源云原生工具推荐——系列3

HummerCloud

开源 云原生 开源云工具 10月月更

整个汽车产业链,都能“挤上”这朵云?

白洞计划

手写JS函数的call、apply、bind

helloworld1024fd

JavaScript

欢迎光临2022年的汽车穿梭餐厅

澳鹏Appen

人工智能 语音识别 数据标注 语音标注 语音数据

C++模板进阶

可口也可樂

c++ 模板 10月月更

为什么企业们更偏好使用华为云CDN?

清欢科技

React组件复用的技巧

夏天的味道123

React

机器学习服务文本识别能力演进,大幅提升识别准确率

HarmonyOS SDK

机器学习

写过vue自定义指令吗,原理是什么?

bb_xiaxia1998

Vue

看完这份SpringBoot神级文档,面试真的可以为所欲为

程序知音

Java spring JAVA开发 springboot 后端技术

如何判断等保测评机构有资质?符合要求?

行云管家

等保 等级保护 等保测评 等保测评机构

React源码解读之更新的创建

flyzz177

React

前端常见手写面试题(持续更新中)

helloworld1024fd

JavaScript

React组件通信

xiaofeng

React

一文读懂 DevSecOps:工作原理、优势和实现

SEAL安全

DevOps 云原生 敏捷开发 DevSecOps 企业号十月 PK 榜

React组件复用的发展史

夏天的味道123

React

云安全企业有哪些?哪些比较知名?

行云管家

云计算 网络安全 云安全

龙蜥对Intel下一代芯片SPR的支持及Anolis 23 产品规划介绍 | 第 50 期

OpenAnolis小助手

开源 直播 intel 龙蜥大讲堂 月会

Linux---Linux中Ubuntu镜像之下搭建FTP服务

木偶

Linux ubuntu ftp 10月月更

【一Go到底】第二十六天---数组入门

指剑

Go golang 10月月更

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