首页 > 其他分享 >OpenApi(Swagger)快速转换成 TypeScript 代码 - STC

OpenApi(Swagger)快速转换成 TypeScript 代码 - STC

时间:2023-08-05 21:47:06浏览次数:39  
标签:TypeScript string STC -- OpenApi OpenAPI Swagger

STC Logo

在现代的 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 自身不支持。

image

file

选项

参数名 类型 默认值 说明
url string Swagger 文档地址,或者本地路径
outDir string stc_out 输出目录
platform string axios 平台,可选值:axioswechat
lang string ts 语言,用于输出文件的后缀名
tag number 从接口 url 指定标签,默认读取 tags 的第一个用于文件名
filter string[] 过滤接口,符合过滤条件的接口会被生成。eg: --filter "/pet/*",生成 /pet 的接口,同时支持多个 --filter

最后

目前工具还在完善中,后续会内置支持更多语言的插件。
如果你觉得不错,可以 star 表示支持一下 https://github.com/long-woo/stc

标签:TypeScript,string,STC,--,OpenApi,OpenAPI,Swagger
From: https://www.cnblogs.com/JasonLong/p/17606115.html

相关文章

  • 深入浅出 Typescript
    TypeScript是JavaScript的一个超集,支持ECMAScript6标准(ES6教程)。TypeScript由微软开发的自由和开源的编程语言。TypeScript设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何浏览器上。目录1TypeScriptVSJavaScript2TypeScri......
  • [Typescript] Partial autocompletion (string & {})
    constpresetSizes={xs:"0.5rem",sm:"1rem",};typeSize=keyoftypeofpresetSizes;//typeLooseSize=Size|string;//theresultwillbestringtypeLooseSize=Size|(string&{});//workingexportconstIcon=(pr......
  • Typescript使用基础篇
    前言对于typescript而言如果想要能在项目中熟练的应用,个人认为需要详细去了解以下几点内容:类型(基本类型,联合类型,类型断言,泛型),模块和命名空间,接口和类基础篇开发环境编译包全局安装npminstall-gtypescript编译ts文件命令tsc+ts文件监听文件变化并编译tsc-w+ts文件基础类型ty......
  • typescript 快速入门
    1.环境搭建1.1安装安装typescriptyarnaddtypescript-g安装ts-nodets-node是一个在内存中运行的TypeScript运行时,它可以直接运行ts文件,而不需要将ts文件编译成js文件yarnaddts-node-g安装@types/node@types/node是node.js的类型定义文件,......
  • TypeScript 之 Record
    在TS中,类似数组、字符串、数组、接口这些常见的类型都非常常见,但是如果要定义一个对象的key和value类型该怎么做呢?这时候就需要用到TS的Record了。来自TypeScript之Record-简书(jianshu.com)【TypeScript】TypeScript之Record的用法-掘金(juejin.cn)比如我需......
  • Modbus TCP转Profinet网关modbustcp转ethernet ip
    大家好,今天我们来聊一聊如何使用捷米特的Profinet转modbusTCP协议转换网关在博图上进行非透传型配置。1,首先,我们需要安装捷米特JM-TCP-PN的GSD文件,并根据现场设备情况配置modbusTCP地址。然后,在博图中添加该GSD文件,并根据实际需求对数据进行图形化配置。比如,我们可以设置1440b......
  • [React] forwardRef typescript
    importReact,{forwardRef}from"react";//DeclareatypethatworkswithgenericcomponentstypeFixedForwardRef=<T,P={}>(render:(props:P,ref:React.Ref<T>)=>React.ReactElement)=>(props:P&React.RefAttri......
  • 理解ServletRequestAttributes servletRequestAttributes = ((ServletRequestAttribut
    1.RequestContextHolder是Spring框架提供的一个工具类,用于在当前线程中持有和公开请求的上下文信息。它使用ThreadLocal来实现线程级别的变量绑定。2.getRequestAttributes()是RequestContextHolder的静态方法,用于获取当前线程中绑定的请求属性。这些请求属性通常是Serv......
  • Wordpress:在Fastcomet中如何进行网站备份?
    使用Fastcomet平台搭建Wordpress网站后,为了安全,需要进行备份,如何操作呢?步骤如下:1.登陆Fastcomet后台后,点击网站后面的AccesscPanel,进入网站面板管理; 2.选择cPanel下的WPToolkit选项,点击Backup/Restore 3.侧边弹出的面板中,点击BackUp,底部会出现进度条,等待备份OK后,会......
  • Vue3中使用TypeScript封装axios遇到的问题(AxiosRequestConfig)
    如果您有更好的解决方法,欢迎评论区评论。版本"dependencies":{"axios":"^1.0.0","vant":"^4.6.3","vue":"^3.3.4","vue-router":"^4.2.4","vuex":&quo......