npm 包 op-tsoa 使用教程

阅读时长 6 分钟读完

什么是 op-tsoa?

op-tsoa 是一个开源的 Typescript 框架,可以让你更方便地创建 REST API。

这个框架可以生成 OpenAPI、Swagger 和 TypeScript client 代码。此外,它还自动创建测试数据模拟,以及自动生成文档。

安装

首先需要安装 Node.js 和 npm。

在终端中,输入以下命令安装 op-tsoa:

创建项目

创建新项目的指令如下:

这会生成一个基于 op-tsoa 的项目结构,包括以下文件:

  • src/controllers——包含 API 控制器的文件夹。
  • src/services——包含服务层代码的文件夹。
  • src/models——包含数据模型的文件夹。
  • dist——包含由 TypeScript 编译器生成的 JavaScript 代码和静态文件。
  • swagger.json——包含 OpenAPI 规范的 Swagger JSON 文件。
  • tsconfig.json——TypeScript 配置文件。

创建控制器

src/controllers 下创建一个新文件 my-controller.ts,然后添加以下内容:

-- -------------------- ---- -------
------ - ------ ----------- --- - ---- ----------
------ - --------- - ---- -------------------------
------ - ------- - ---- ---------------------

------------
------ ----- ------------ ------- ---------- -

    ------------------- -------- ---------- ---------- -
        --------
    -

    ------------
    ------ ----- ----------- -------- ---------------- -
        ------ ---------------------------
    -

-

我们使用一个装饰器 @Route 来指定哪些控制器应该处理来自客户端的 HTTP 请求。这里我们设置 my 作为根路由。

使用更多不同的方法来引导客户端请求时,我们使用另一个装饰器 @Get。在这个例子中,我们将给客户端返回一个指定 Id 的 my model。

创建模型和服务

下一步是创建一个模型,并创建我的服务以处理业务逻辑。我们假设我们要处理的数据为:

现在,我们创建了一个以下服务文件 my-service.ts,来存储实现相关逻辑:

-- -------------------- ---- -------
------ - ------- - ---- ---------------------

------ ----- --------- -

    ------- -------- -------- --------- - -
        - --- -- ------ --- ----- -- --
        - --- -- ------ --- ----- --- ------------ --- ----------- -- -
    --

    ------ ----- ----------- -------- ---------------- -
        ------ ------------------- -- ---- --- ----
    -

-

生成代码和文档

我们已经创建了控制器、模型和服务,现在可以生成代码和文档。

生成静态文件

使用以下命令生成静态文件:

这将编译 TypeScript 代码和 static assets 并把它们放在 dist 文件夹中,你可以将其发布到任何 WEB 服务器上。

生成客户代码

使用以下命令生成客户端的 TypeScript 定义:

这将在 generated/ 文件夹下生成一个模块,dist 文件夹下则会生成 JavaScript 文件。

生成 Swagger 文档

使用以下命令生成 Swagger JSON 文件:

这将生成一个 Swagger JSON 文件 swagger.json,它包含了所有 API 规范信息。

运行示例

在这里,我们抽出一个示例代码来运行测试前面所操作的代码。

可以先创建文件夹 my-server,然后将前面的代码都复制进来,

现在,在终端中输入以下命令:

现在创建文件 app.ts

-- -------------------- ---- -------
------ -------------------
------ - -- ------- ---- ----------
------ - -- ---------- ---- --------------
------ - -- ---- ---- -------
------ - -------------- - ---- ---------------------

----- --- - ----------

-------------------------------
    --------- ----
----
---------------------------

------------ ----------------------------------- -------------
--------------- ------------------

---------------- -- -- -
    ------------------- ------- -- ------------------------
---

这将启动一个 Express 服务器,开放了静态文件目录 dist 和路由 URL /api,使你可以测试你所编写的控制器。

最后,在终端中输入以下命令:

这将启动本地服务器,并打开浏览器到 http://localhost:3000 以浏览开放的 dist 文件夹。在 /api/my/2 页面中,你应该可以看到我们设计的 MyModel。

总结

现在,你已经了解了如何使用 npm 包 op-tsoa 创建 REST API,并从多个方面学习了它的实现细节。

希望此文能够为所有需要此类信息的前端开发人员提供帮助。感谢阅读!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005672a81e8991b448e3acc

纠错
反馈