简介
Deno 是一个类似于 Node.js 的 JavaScript 运行环境,但它提供了更好的安全性和可维护性。它是由 Node.js 的创造者 Ryan Dahl 开发的。Deno 内置了 TypeScript 编译器,并支持 ES6 标准,同时自带了一个包管理器和一个命令行工具。
在本文中,我们将学习如何使用 Deno 开发一个 RESTful API,并以一个简单的示例来演示如何实现。
开始
要开始使用 Deno 开发 RESTful API,你首先需要在你的系统上安装 Deno。可以在 Deno 官网 下载安装 Deno。
安装 Deno 并验证它是否安装成功:
- ---- --------- ---- ------ -- --------- ---------- -----
下一步,让我们开始创建我们的 RESTful API。
创建 RESTful API
首先,我们需要创建一个项目目录。在此目录中,我们将创建一个 server.ts
文件,用于创建我们的 RESTful API。
- ----- ---------------- -- -- ---------------- - ----- ---------
接下来,让我们打开 server.ts
文件,并添加以下代码:
------ - ------------ ------ - ---- --------------------------------- ------ ------------------------------------- ----- ------ - --- --------- --------------- --------- -- - --------------------- - ------- ------ --- ----- --- - --- -------------- ------------------------- --------------------------------- ------------------- -- ------- -- ---- -------------------------- ----- ------------ ----- ------------------------------- ---
上面的代码使用了 Oak 库,它是一个基于中间件的 Web 框架,用于构建 Deno Web 应用程序。我们也使用了 dotenv 库,以便我们可以从 .env
文件中获取环境变量。
代码中的 router
对象用于处理所有 RESTful API 的路由。GET /
路由对应的回调函数将返回 "Hello, Deno" 字符串。
最后,我们创建了一个 app
对象,将其加入中间件处理,将路由添加到应用程序中,指定端口进行监听。
运行应用
为了运行我们的应用程序,我们需要使用以下命令:
- ---- --- ----------- ----------- ---------
此命令将启动应用程序并开始监听我们在 .env
文件中指定的端口。
现在,尝试在浏览器中访问 http://localhost:{PORT}
,应该会显示 "Hello, Deno" 字符串。
RESTful API 示例
让我们使用一个示例来演示如何创建一个简单的 RESTful API。
我们将创建一个 RESTful API,用于管理“待办事项”列表。
我们定义以下 API 路径:
GET /todos
- 获取所有待办事项的列表GET /todos/:id
- 获取指定 ID 的待办事项POST /todos
- 添加新的待办事项PUT /todos/:id
- 更新指定 ID 的待办事项DELETE /todos/:id
- 删除指定 ID 的待办事项
我们将使用一个简单的内存存储来将待办事项存储在内存中。
--------- ---- - --- ------- ------ ------- ---------- -------- - --- ------ ----------- - - - --- ---- ------ ---- ----------- ---------- ----- -- - --- ---- ------ ------ ------ ---------- ----- -- --
GET /todos
该路径应该返回所有待办事项的列表。我们将使用以下代码实现:
-------------------- --------- -- - --------------------- - ------ ---
GET /todos/:id
该路径应该返回带有指定 ID 的待办事项。我们将使用以下代码实现:
------------------------ --------- -- - ----- ---- - ----------------- -- ------- --- ------------------- -- ------ - --------------------- - ----- - ---- - ----------------------- - ---- --------------------- - - -------- ----- --- ------ -- - ---
POST /todos
该路径应该将一个新的待办事项添加到列表中。我们将使用以下代码实现:
--------------------- ----- --------- -- - ----- ----- ---- - ----- ----------------------------- ------- - ------------- - -------------- ----------------- --------------------- - ----- ----------------------- - ---- ---
PUT /todos/:id
该路径应该更新一个带有指定 ID 的待办事项。我们将使用以下代码实现:
------------------------ ----- --------- -- - ----- ----- - ---------------------- -- ------- --- ------------------- -- ------ --- --- - ----- ----- ---- - ----- ----------------------------- ------------ - - -------- --- ----------------- -- --------------------- - ------------- - ---- - ----------------------- - ---- --------------------- - - -------- ----- --- ------ -- - ---
DELETE /todos/:id
该路径应该删除带有指定 ID 的待办事项。我们将使用以下代码实现:
--------------------------- ----- --------- -- - ----- ----- - ---------------------- -- ------- --- ------------------- -- ------ --- --- - ------------------- --- ----------------------- - ---- - ---- - ----------------------- - ---- --------------------- - - -------- ----- --- ------ -- - ---
结论
现在你已经了解了如何使用 Deno 创建 RESTful API,以及如何使用 Oak 和 dotenv 库来实现这一点。
通过这篇文章,我们了解了 Deno 和 Oak,学习了如何使用它们来创建一个 RESTful API,实现了一个实际的示例。
如果你想了解更多关于 Deno 的知识,可以阅读 Deno 官方文档:https://deno.land/manual。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67192849ad1e889fe2302a4f