商务境界 發表於 2023-8-5 21:33:00

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

<p><img src="https://img2023.cnblogs.com/blog/423657/202308/423657-20230804155231120-1292914581.svg" alt="STC Logo" loading="lazy"></p>
<p>在现代的 Web 开发中,使用 OpenAPI(以前称为 Swagger)规范来描述和定义 API 已经成为一种常见的做法。OpenAPI 规范提供了一种统一的方式来描述API的结构、请求和响应,使得开发人员能够更好地理解和使用 API。</p>
<p>然而,手动编写与 OpenAPI 规范匹配的客户端代码或服务端框架可能是一项繁琐且耗时的任务。这就是为什么使用 STC(Swagger Transform Code)工具可以大大简化这个过程,并快速生成与 OpenAPI 规范一致的 TypeScript 代码的原因。</p>
<h2 id="什么是stcswagger-transform-code">什么是STC(Swagger Transform Code)?</h2>
<p>STC 是一个用于将 OpenAPI 规范的 Swagger/Apifox 文档转换为可执行代码文件的工具。它提供了一种自动化的方式来读取 OpenAPI 规范的 Swagger/Apifox 文档,并根据规范生成与之匹配的 TypeScript 代码。</p>
<p>特性:</p>
<ul>
<li>支持 Swagger 2, 3 和 Apifox。</li>
<li>支持 Axios、Wechat 请求库。</li>
<li>支持插件开发。</li>
</ul>
<h2 id="下载-stc">下载 STC</h2>
<ul>
<li>Windows</li>
<li>Mac Intel</li>
<li>Mac M</li>
<li>Linux</li>
</ul>
<blockquote>
<p>软件没有签名,在打开时会被系统安全提示,允许即可。</p>
</blockquote>
<h2 id="如何使用">如何使用?</h2>
<p>下载好后,在终端(cmd)中进入到 STC 文件所在目录。输入如下命令:</p>
<pre><code class="language-sh">stc --url=https://petstore3.swagger.io/api/v3/openapi.json --outDir=out
</code></pre>
<blockquote>
<p>需要注意的是 STC 不会识别 <code>~</code> 为用户主目录,这是由于 Deno 自身不支持。</p>
</blockquote>
<p><img src="https://img2023.cnblogs.com/blog/423657/202308/423657-20230805110034525-634152878.png" alt="image" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/423657/202308/423657-20230805105526842-528200022.png" alt="file" loading="lazy"></p>
<h2 id="选项">选项</h2>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>默认值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>url</td>
<td>string</td>
<td></td>
<td>Swagger 文档地址,或者本地路径</td>
</tr>
<tr>
<td>outDir</td>
<td>string</td>
<td>stc_out</td>
<td>输出目录</td>
</tr>
<tr>
<td>platform</td>
<td>string</td>
<td>axios</td>
<td>平台,可选值:<code>axios</code>、<code>wechat</code></td>
</tr>
<tr>
<td>lang</td>
<td>string</td>
<td>ts</td>
<td>语言,用于输出文件的后缀名</td>
</tr>
<tr>
<td>tag</td>
<td>number</td>
<td></td>
<td>从接口 url 指定标签,默认读取 tags 的第一个用于文件名</td>
</tr>
<tr>
<td>filter</td>
<td>string[]</td>
<td></td>
<td>过滤接口,符合过滤条件的接口会被生成。eg: <code>--filter "/pet/*"</code>,生成 <code>/pet</code> 的接口,同时支持多个 <code>--filter</code></td>
</tr>
</tbody>
</table>
<h2 id="最后">最后</h2>
<p>目前工具还在完善中,后续会内置支持更多语言的插件。<br>
如果你觉得不错,可以点个 star 表示支持一下 https://github.com/long-woo/stc。</p><br><br>
来源:https://www.cnblogs.com/JasonLong/p/17606115.html
頁: [1]
查看完整版本: OpenApi(Swagger)快速转换成 TypeScript 代码 - STC