Swagger UI 是一个流行的工具,它可以将 OpenAPI 规范格式的 API 文档转换为交互式的可视化文档。Swagger UI 的强大功能和易于使用的特性使其成为 Web API 开发者的重要工具。
Deno 是一种全新的 JavaScript 运行时,它融合了现代浏览器和 Node.js 的优点。Deno 的出现可以为开发者提供更好的开发体验和原生支持 TypeScript 等特性。
在本篇文章中,我们将介绍如何在 Deno 中使用 Swagger UI 显示 API 文档。
安装 Swagger UI
在使用 Swagger UI 之前,我们需要将其安装到项目中。使用以下命令:
deno install --allow-read --allow-net --import-map=https://raw.githubusercontent.com/denoland/deno/master/std/http/import_map.json -n swaggerui https://raw.githubusercontent.com/swagger-api/swagger-ui/master/dist/mod.ts
这个命令将会基于 import map 方式去安装 Swagger UI。在 Deno v1.9.0 及以后的版本中,import map
已成为了一个较为推荐的安装方式。安装完成后,我们可以通过以下命令来启动 Swagger UI:
deno run --allow-read --allow-net --import-map=https://raw.githubusercontent.com/denoland/deno/master/std/http/import_map.json --unstable --no-check --config=tsconfig.json ./swagger-ui.ts
其中,--unstable
参数是用于使我们引用 Deno 的 experimental API,需要在 deno 核心团队比较推荐的场合下才可以使用。
导入 API 文档
Swagger UI 需要一个 Open API 格式的文档。如果没有一个这样的文档,可以从本地文件系统或网络上导入。我们可以使用以下代码将 API 文档导入 Deno:
-- -------------------- ---- ------- ------ - ----- - ---- ----------------------------------------- ----- ------ - --------------------------------------- ----- -------- - ----- -------------- -- ------------- - ----- ---- - ----- ---------------- ----- ------ - ------------ -------------------- - ---- - --------------------- -- ---- --- ----- ------------------ ------------------------- -
在这个例子中,我们从网络上读取 swagger.yaml
文档,并使用 yaml
解析器将其解析为对象。
如果你使用的是 JSON 格式的 API 文档,导入 API 文档的步骤也很相似。
显示 API 文档
在导入 API 文档后,我们需要将其显示在 Swagger UI 中。我们可以使用以下代码创建 Swagger UI:
-- -------------------- ---- ------- ------ - ----------- - ---- ------------------------------------------ ------ - ----------- - ---- --------------------------------- ------ - --------- - ---- ----------- ----- --- - --- -------------- --------------------- --------------------------------- -------------------- -- -- ------- -- ------------------------ ----- ------------ --------- ------------ ----- ---- ---
在这个例子中,我们使用 oak
框架来创建一个应用,并使用 serve_static
模块将 ./public
目录下的静态文件提供给用户。
我们还需要编写一个自定义中间件来创建并渲染 Swagger UI。该中间件在代码中引用上文提到的 SwaggerUI
接口。该接口可以接受一个 API 文档对象,并返回一个中间件,该中间件将创建和呈现 Swagger UI。
结论
在本篇文章中,我们介绍了如何在 Deno 中使用 Swagger UI 显示 API 文档。我们学习了如何安装 Swagger UI,将 API 文档导入 Deno,并将其呈现在 Swagger UI 中。
Swagger UI 是一个强大的工具,可以提高 Web API 开发人员的工作效率和开发速度。Deno 作为新的 JavaScript 运行时,也提供了在 Deno 中集成 Swagger UI 的方法。
原文链接:How to use Swagger UI to Display API Documentation in Deno
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f22d8ea44b36ee576457ae