前言
Deno 是一个新兴的 JavaScript 和 TypeScript 运行时环境,它与 Node.js 有着很大的相似之处,但也有很多不同。Oak 是一个基于 Deno 的 Web 框架,它提供了一些简单易用的 API,可以用来构建 REST API。本文将介绍如何使用 Deno 和 Oak 框架来构建 REST API。
安装 Deno
首先,我们需要安装 Deno。Deno 可以在官方网站上下载到,也可以使用包管理器进行安装。
安装完成后,我们可以在终端中输入以下命令来验证是否安装成功:
deno --version
如果成功安装,会输出 Deno 的版本号。
安装 Oak
接下来,我们需要安装 Oak。可以使用以下命令来安装:
deno install --allow-read --allow-net https://deno.land/x/oak/mod.ts
这将会安装最新版本的 Oak。如果你想安装特定版本的 Oak,可以使用以下命令:
deno install --allow-read --allow-net https://deno.land/x/oak@<version>/mod.ts
其中 <version>
是你想要安装的 Oak 版本号。
构建 REST API
我们将使用 Oak 来构建一个简单的 REST API。在项目的根目录下创建一个名为 server.ts
的文件,然后输入以下代码:
// javascriptcn.com 代码示例 import { Application, Router } from "https://deno.land/x/oak/mod.ts"; const router = new Router(); router.get("/", (ctx) => { ctx.response.body = "Hello, world!"; }); const app = new Application(); app.use(router.routes()); app.use(router.allowedMethods()); console.log("Server started at http://localhost:8000"); await app.listen({ port: 8000 });
这段代码会创建一个路由器,并在路由器中定义了一个 GET 请求处理函数,用于返回 "Hello, world!" 的字符串。然后创建了一个应用程序,将路由器添加到应用程序中,并将应用程序监听在 8000 端口上。
现在,我们可以在终端中运行以下命令来启动我们的应用程序:
deno run --allow-net server.ts
这将会启动我们的应用程序,并将其监听在 8000 端口上。现在我们可以在浏览器中访问 http://localhost:8000 来查看我们的应用程序是否能够正常工作。
添加路由
现在我们已经创建了一个简单的 REST API,接下来我们将添加一些路由来处理不同的请求。
我们将使用 Oak 的路由器来添加路由。在 server.ts
文件中添加以下代码:
// javascriptcn.com 代码示例 router.get("/users", (ctx) => { ctx.response.body = { users: [ { id: 1, name: "Alice", }, { id: 2, name: "Bob", }, { id: 3, name: "Charlie", }, ], }; }); router.post("/users", async (ctx) => { const body = await ctx.request.body(); const user = body.value; user.id = 4; ctx.response.body = user; });
这段代码会添加两个路由,一个 GET 路由和一个 POST 路由。GET 路由用于返回一个包含三个用户信息的 JSON 对象,而 POST 路由用于接收一个用户信息,并将其添加到用户列表中。
测试 API
现在我们已经添加了一些路由,接下来我们将测试我们的 REST API 是否能够正常工作。我们可以使用 curl 命令来测试 API。
首先,我们可以使用以下命令来测试 GET 路由:
curl http://localhost:8000/users
这将会返回以下 JSON 对象:
// javascriptcn.com 代码示例 { "users": [ { "id": 1, "name": "Alice" }, { "id": 2, "name": "Bob" }, { "id": 3, "name": "Charlie" } ] }
接下来,我们可以使用以下命令来测试 POST 路由:
curl -X POST -H "Content-Type: application/json" -d '{"name": "David"}' http://localhost:8000/users
这将会返回以下 JSON 对象:
{ "id": 4, "name": "David" }
总结
在本文中,我们介绍了如何使用 Deno 和 Oak 框架来构建 REST API。我们首先安装了 Deno 和 Oak,然后编写了一个简单的 REST API,最后添加了一些路由来处理不同的请求。通过本文的学习,你可以了解到如何使用 Deno 和 Oak 来构建一个简单的 REST API,并且可以通过 curl 命令来测试 API 是否能够正常工作。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/655f6238d2f5e1655d99831a