OpenApi(Swagger)快速转换成 TypeScript 代码 - STC
在现代的 Web 开发中,使用 OpenAPI(以前称为 Swagger)规范来描述和定义 API 已经成为一种常见的做法。OpenAPI 规范提供了一种统一的方式来描述API的结构、请求和响应,使得开发人员能够更好地理解和使用 API。
然而,手动编写与 OpenAPI 规范匹配的客户端代码或服务端框架可能是一项繁琐且耗时的任务。这就是为什么使用 STC(Swagger Transform Code)工具可以大大简化这个过程,并快速生成与 OpenAPI 规范一致的 TypeScript 代码的原因。
什么是STC(Swagger Transform Code)?
STC 是一个用于将 OpenAPI 规范的 Swagger/Apifox 文档转换为可执行代码文件的工具。它提供了一种自动化的方式来读取 OpenAPI 规范的 Swagger/Apifox 文档,并根据规范生成与之匹配的 TypeScript 代码。
特性:
- 支持 Swagger 2, 3 和 Apifox。
- 支持 Axios、Wechat 请求库。
- 支持插件开发。
下载 STC
软件没有签名,在打开时会被系统安全提示,允许即可。
如何使用?
下载好后,在终端(cmd)中进入到 STC 文件所在目录。输入如下命令:
stc --url=https://petstore3.swagger.io/api/v3/openapi.json --outDir=out
需要注意的是 STC 不会识别
~为用户主目录,这是由于 Deno 自身不支持。


选项
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| url | string | Swagger 文档地址,或者本地路径 | |
| outDir | string | stc_out | 输出目录 |
| platform | string | axios | 平台,可选值:axios、wechat |
| lang | string | ts | 语言,用于输出文件的后缀名 |
| tag | number | 从接口 url 指定标签,默认读取 tags 的第一个用于文件名 | |
| filter | string[] | 过滤接口,符合过滤条件的接口会被生成。eg: --filter "/pet/*",生成 /pet 的接口,同时支持多个 --filter |
最后
目前工具还在完善中,后续会内置支持更多语言的插件。
如果你觉得不错,可以 star 表示支持一下 https://github.com/long-woo/stc。
OpenApi(Swagger)快速转换成 TypeScript 代码 - STC的更多相关文章
- hbuilder中的wap2app (将M站快速转换成App的开发框架)使用过程有关原生标题的关闭
首先,我最近在做有关将M站快速转换成App的项目,在网上看了很多,最终结合同学的推荐,我选择了hbuilder,有关于hbuilder的下载还有具体使用方法,官网都有详细的说明,我就不介绍了,我重点介 ...
- 基于jQuery实现汉字转换成拼音代码
基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <br /> ...
- PaintCode 教程:矢量图轻松转换成CoreGraphics代码
本文译自Ranwenderlich的这篇:http://www.raywenderlich.com/100281/paintcode-for-designers-getting-started Pai ...
- CAD中如何将图形对象快速转换成三维曲面?
天小编将接着上节内容给大家分享浩辰CAD软件中将图形对象快速转换成三维曲面的相关操作技巧,感兴趣的小伙伴可以和一起来了解一下哦! CAD中将图形转换为曲面的操作步骤: 1.用浩辰CAD软件中打开图纸后 ...
- 如何将svg图标快速转换成字体图标?
今天遇到一个客户需要我将页面的图标做成字体图标,想想哎可能整的麻烦,不过想想这也是对项目的一个优化 ( 1.字体图标直接用color自由控制颜色:2.整合在一起,减少http请求等 PS:平时 ...
- 将word文件快速转换成表格的技巧
最近烦心事还真是很多,世界买家网最近就遇到了很多烦心事. 从www.buyerinfo.biz网站中的数据导出为csv格式的文件,我导出了buyer的数据,那怎么把它制作成表格呢? 找了下,发现还是比 ...
- [UE4]蓝图转换成C++代码
版本:4.12 1.进行如下设置 2.将项目打包出来(任意一平台都行,本文以Windows为例) 3.打包完成后才会在原项目工程中生成蓝图转换成c++的代码 4.如图路径(转换后的代码路径较深所以一步 ...
- [置顶] oracle 数据库表中转换成java代码
--数据库中字段java代码 select col.TABLE_NAME,replace(initcap(col.TABLE_NAME),'_', '') , 'private '||decode ...
- 利用 Aspose.Words 组件,在不依赖与 Office 组件的情况下把 Word 文件转换成 HTML 代码。
首先利用 Nuget 获取 Aspose.Words.dll public ActionResult AsposeWordsDemo() { string srcFileName = Server.M ...
- 怎样把php数组转换成字符串,php implode()
实例代码 一维数组转换成字符串代码! <?php $arr1=array("shu","zhu","1"); $c=implode(& ...
随机推荐
- Netty服务端开发及性能优化
作者:京东物流 王奕龙 Netty是一个异步基于事件驱动的高性能网络通信框架,可以看做是对NIO和BIO的封装,并提供了简单易用的API.Handler和工具类等,用以快速开发高性能.高可靠性的网络服 ...
- Vue中使用原生js实现轮播图滑动效果
1.在视图层模板里面绑定touchstart和touchend事件 <div class="tuWap" @touchstart="touchStart" ...
- 2021-09-21:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。要
2021-09-21:给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置.如果数组中不存在目标值 target,返回 [-1, -1].要 ...
- win10双系统Ubuntu的安装之旅(安装+美化+问题解决方案)
一.前言 最近想用一下Ubuntu,于是乎开始了win10安装Ubuntu的旅程,安装的过程中是看到了很多前人已经写好的非常详细的教程,那这里我就不再重复造轮子啦,直接放上链接咯- 看看我的成果图- ...
- SpringBoot限制接口访问频率 - 这些错误千万不能犯
最近在基于SpringBoot做一个面向普通用户的系统,为了保证系统的稳定性,防止被恶意攻击,我想控制用户访问每个接口的频率.为了实现这个功能,可以设计一个annotation,然后借助AOP在调用方 ...
- 使用weexplus + vue开发APP的填坑之旅
最近需要撸一个app来满足用户的需求,找来找去发现flutter不错,决定用它但是时间不够(准备挤出时间再去研究flutter),进度又催得紧,最后决定选weex这个上手快些,说干就干打开官网跟着ap ...
- 使用 ChatGPT 的 7 个技巧 | Prompt Engineering 学习笔记
概述 前段时间在 DeepLearning 学了一门大火的 Prompt 的课程,吴恩达本人授课,讲的通俗易懂,感觉受益匪浅,因此在这里总结分享一下我的学习笔记. 为什么要学习 Prompt ? 因为 ...
- Oracle Users表空间重命名
需求:默认无法直接删除Oracle的users表空间,直接尝试删除会有报错如下: SQL> drop tablespace users including contents and datafi ...
- Hive常见时间日期函数的使用与问题整理
这里整理一下Hive常见的时间函数和日期函数和用法,作为平时数据处理过程的一个检索和记录. 平时在数据处理过程中,如果不经常使用时间函数,一时间遇到一些时间上的处理,难免会想不起来. hive本身提供 ...
- Linux下ElasticSearch及IK分词插件安装
ElasticSearch及IK分词插件相关安装 一. 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. ...