写点什么

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

评论

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

央行数字货币即将破茧,一场大变局,震撼全球

CECBC

趣说 Node.js 的事件循环

Regan Yue

node.js Regan Yue 10月月更

Prometheus 基础查询(四)修饰符

耳东@Erdong

Prometheus 10月月更

WEB图像优化

devpoint

性能优化 image 图像格式 10月月更

【Flutter 专题】133 图解自定义 ACEWaterButton 水波纹按钮

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

【设计模式】第四篇 - 简单工厂

Brave

设计模式 工厂模式 10月月更

Win11安装PyTorch

IT蜗壳-Tango

10月月更

微博评论高性能高可用计算架构设计

看,有只猪

分布式文件存储系统Minio实战

Fox爱分享

Minio 分布式文件存储

未来已来,运营商如何驱动区块链应用创新提速?

CECBC

初始化 Ubuntu 工作环境

看山

ubuntu 10月月更

linux之awk使用技巧

入门小站

Linux

Kafka 生产环境部署指南

Se7en

Spring 框架学习

风翱

spring 10月月更

Java 面试八股文之数据库篇(一)

Dobbykim

博鳌亚洲论坛国际科技与创新论坛第二届大会区块链分论坛紧密筹备中

时空云

区块链 博鳌 亚洲论坛

Minio环境搭建

Fox爱分享

Minio 分布式文件存储

CPU、指令集、微架构概念学习

轻口味

10月月更

Go 扇入 / 扇出

baiyutang

golang 10月月更

人工智能解决方案 --- 智能运维(AIOps)

micklongen

人工智能 AIOPS 知识图谱 智能运维 数据工程

linux【redhat&ubuntu】下ffmpeg-3.1安装编译及视频转码

程序员架构进阶

架构 ffmpeg 视频流 10月月更

018云原生之基础架构

穿过生命散发芬芳

云原生 10月月更

【LeetCode】环形链表Java题解

Albert

算法 LeetCode 10月月更

Linux system hardening: adding hidepid to /proc mount point

卓丁

Linux linux security proc hidepid

跳槽时需要注意的事项

石云升

跳槽 职场经验 10月月更

区块链将规则写入代码 重构市场新制度

CECBC

越来越被需要的售前工程师·「这就是售前」前言

jiezhao

售前 企业服务

微信小程序获取用户授权的思路

Changing Lin

10月月更

手机影像二十载,AI多摄会是终极答案吗?

脑极体

在线字符串哈希/散列工

入门小站

工具

👊 【Spring技术特性】带你看看那些可能你还不知道的特性技巧哦!

码界西柚

Java spring Spring特性 10月月更

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