写点什么

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

评论

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

校招前端二面经典react面试题及答案

beifeng1996

前端 React

助力白帽成长 百度安全2022 BSRC年度盛典圆满收官

Geek_283163

百度 #百度#

【OpenHarmony设备开发】修改屏幕 DPI(像素密度)

离北况归

OpenHarmony

Visual ChatGPT:跟聊天机器人一起绘画

Zilliz

计算机视觉 ChatGPT

滴滴前端一面常考vue面试题(持续更新中)

bb_xiaxia1998

Vue 前端

滴滴前端高频vue面试题(边面边更)

bb_xiaxia1998

Vue 前端

写个JS深拷贝,面试备用

helloworld1024fd

JavaScript 前端

前端一面手写面试题总结

helloworld1024fd

JavaScript 前端

使用C++ template进行多厂商接口的适配

老王同学

c++ 模板

问:React的useState和setState到底是同步还是异步呢?

beifeng1996

React

字节前端二面react面试题(边面边更)

beifeng1996

前端 React

架构训练营模块七作业

gigifrog

架构训练营

Paragon NTFS2023磁盘读写工具

茶色酒

Paragon NTFS Paragon NTFS16

Studio One6免费电脑版编曲软件下载

茶色酒

Studio One6

架构训练营模块四作业

null

OpenHarmony NDK工具(上)

离北况归

OpenHarmony

算力网络智能选路新向导

鲸品堂

算力 电信运营商 算力网络 企业号 3 月 PK 榜

vue为什么v-for的优先级比v-if的高?

bb_xiaxia1998

Vue 前端

几个常见的js手写题,你能写出来几道

helloworld1024fd

JavaScript 前端

京东前端手写面试题集锦

helloworld1024fd

JavaScript 前端

4万字,阿里云《大型体育赛事云上实战精选》电子书发布!

阿里云CloudImagine

云计算 视频云

出道即封神的ChatGPT,现在怎么样了?

引迈信息

人工智能 低代码 ChatGPT

C++模板元编程的两个例子

老王同学

c++ 模板元

问:你是如何进行react状态管理方案选择的?

beifeng1996

前端 React

常见的ftp文件传输工具有哪些?推荐最佳ftp文件传输工具

镭速

chatgpt 集成飞书实践指南

车江毅

聊天机器人 飞书 java ChatGPT

new Vue的时候到底做了什么

bb_xiaxia1998

Vue 前端

ExpandableListView的基本使用

芯动大师

Adapter ExpandableListView 可折叠的列表

OpenHarmony NAPI 类对象导出及其生命周期管理(上)

离北况归

OpenHarmony

OpenHarmony NAPI 类对象导出及其生命周期管理(下)

离北况归

OpenHarmony

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