如何在 Deno 中构建快速、可靠的 API

阅读时长 8 分钟读完

Deno 是一个开源的 JavaScript/TypeScript 运行时,它提供了一个安全的运行环境,并且具有更好的开发体验和更好的性能。如果您想在 Deno 中构建快速、可靠的 API,这篇文章将会为您指导如何做到。

第一步:安装 Deno

首先,您需要安装 Deno。您可以从 Deno 的官方网站(https://deno.land/)下载安装包或使用包管理器进行安装。安装完成后,在命令行中运行以下命令,查看 Deno 是否已经安装成功:

如果您看到了版本号,那么就表示 Deno 已经成功安装了。

第二步:创建 API

在开始之前,我们需要确定一下我们想要构建的 API。这里我将构建一个简单的 TodoList API。

首先,我们需要创建一个新的文件夹,并在其中创建一个名为 server.ts 的文件。在 server.ts 中,我们需要导入一些必要的模块,并编写一些基本的代码。

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

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

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

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

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

在这段代码中,我们使用了 Oak 模块,它是一个用于构建 Web 应用程序的模块。我们首先创建了一个新的 Application 实例,它表示我们的 Web 应用程序。然后,我们创建了一个名为 router 的新路由器,并使用 router.get() 方法定义了一个 GET 路由,该路由将返回一个简单的 “Hello, world!” 响应。最后,我们使用 app.use() 方法将路由器挂载到我们的应用程序中,然后调用 app.listen() 方法来启动我们的应用程序,监听 8000 端口的请求。

现在,我们已经成功地创建了一个简单的 Web 服务器,并且可以通过访问 http://localhost:8000 来查看是否一切正常。

第三步:连接数据库

现在我们需要将 TodoList 存储在一个数据库中。在此处,我们将使用 MongoDB 作为我们的数据库,您需要先安装 MongoDB 并启动 MongoDB 服务器。

在继续之前,您还需要安装 Mongo 驱动程序,可以使用以下命令:

有了数据库和驱动程序,我们可以使用以下代码连接到 MongoDB 数据库:

在这里,我们首先导入 MongoClient 类,并创建了一个新的 client 实例。然后,我们调用 client.connect() 方法来连接到 MongoDB 服务器。接下来,我们创建了一个名为 todos 的新数据库。

第四步:定义模型

接下来,我们需要定义我们的 Todo 模型。我们将创建一个名为 Todo 的 TypeScript 接口。

在这里,我们定义了一个包含 _idtitlecompleted 字段的接口。其中,_id 是 MongoDB 中自动生成的唯一 ID。

接下来,我们需要创建一个名为 todos.ts 的新文件,并在其中定义一些 CRUD 操作,以获取、创建、更新和删除 Todo。

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

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

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

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

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

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

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

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

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

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

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

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

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

在这里,我们首先导入 RouterContext 类和 Bson 模块。接下来,我们从 db.ts 导入了我们之前创建的 todos 集合,并导出了一些不同的操作,包括获取所有 Todo、创建新的 Todo、更新 Todo 以及删除 Todo。

第五步:更新路由

现在我们已经成功定义了模型和模型操作,我们需要将其添加到我们的路由中。在 server.ts 文件中,我们需要修改路由定义,以使其包含我们的新操作。

在这里,我们导入了我们之前定义的 CRUD 操作,并使用 router.get()router.post()router.put()router.delete() 方法来定义新的路由,以便访问我们的 API。

第六步:运行服务器

最后,我们可以使用以下命令启动服务器并运行我们的 API:

这将启动我们的应用程序,并监听 8000 端口。现在,我们可以使用 Postman 或其他 HTTP 工具来测试我们的 API。

总结

在本文中,我们学习了如何在 Deno 中构建快速、可靠的 API。我们了解了如何使用 Oak 模块创建 Web 服务器,如何连接 MongoDB 数据库,如何定义模型以存储我们的数据,并使用它执行 CRUD 操作。最后,我们将我们的模型操作添加到我们的路由中,并成功地构建了一个完整的 TodoList API。

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

纠错
反馈