Deno 实现CRUD操作

· 约 9 分钟读完 · 第 64 / 99 章

在本章中,我们将学习如何使用 Deno 实现基本的 CRUD (创建、读取、更新和删除) 操作。这些操作是任何 Web 应用程序的核心部分,因此理解它们对于构建功能丰富的应用程序至关重要。

准备工作

首先,我们需要安装 Deno 和一些必要的依赖项。假设你已经安装了 Deno,请确保你的环境版本是最新的。你可以通过运行以下命令来检查 Deno 的版本:

接下来,我们将使用 deno KV 来存储数据。这是一个简单的键值对存储系统,非常适合用于演示目的。首先,我们需要初始化一个新的 Deno 项目,并添加必要的权限。

创建一个新文件夹并进入该文件夹:

然后,初始化一个新的 Deno 项目:

打开 deno.json 文件,添加 KV 存储所需的权限:

确保你的 Deno 版本支持 --unstable 参数,因为 deno kv 目前还处于实验性阶段。

创建数据

我们将实现一个简单的 API 来创建新条目。首先,在项目根目录下创建一个名为 mod.ts 的文件。这个文件将包含我们的主要逻辑。

在 mod.ts 中,我们首先需要引入 Deno 的 KV API:

接下来,我们将定义一个处理 POST 请求的函数来创建新条目。这里我们假设我们要存储的是用户信息:

在这个函数中,我们首先从请求体中解析出用户数据,然后生成一个唯一的 ID,并使用 kv.atomic().set() 方法将用户信息保存到 KV 存储中。最后,返回一个带有创建成功状态码的响应。

读取数据

接下来,让我们实现读取操作。这包括获取单个用户信息以及列出所有用户信息的功能。

获取单个用户信息

为了获取特定用户的详细信息,我们可以定义如下函数:

这里我们从 URL 查询参数中获取用户 ID,然后尝试从 KV 存储中获取对应的用户信息。如果找不到用户,则返回 404 错误;否则,返回用户信息。

列出所有用户信息

要列出所有用户信息,可以定义以下函数:

此函数遍历所有以 "users" 开头的键值对,并返回一个包含所有用户信息的 JSON 响应。

更新数据

更新操作允许我们修改已存在的用户信息。我们可以定义一个类似于 updateUser 的函数来处理 PUT 请求:

这个函数首先检查是否提供了用户 ID,然后尝试获取现有用户信息。如果找到了用户,它将合并传入的新数据与旧数据,并更新 KV 存储中的记录。

删除数据

最后,我们需要实现删除功能。这可以通过一个简单的 DELETE 请求处理器来完成:

这个函数同样需要用户提供用户 ID。如果找到对应用户,则将其从 KV 存储中删除。

路由配置

现在我们已经有了所有的 CRUD 操作函数,接下来我们需要为这些操作配置路由。回到 mod.ts 文件,我们可以设置如下路由:

以上代码设置了基本的路由规则,根据不同的 HTTP 方法和路径执行相应的 CRUD 操作。

测试

现在你可以启动服务器并测试这些功能了:

使用 Postman 或其他工具进行测试,确保每个 CRUD 操作都能按预期工作。

这就是使用 Deno 实现基本 CRUD 操作的完整示例。希望这个教程对你有所帮助!