Node.js RESTful API 学习笔记

什么是 RESTful API?

RESTful API 是一种使用 HTTP 协议进行通信的 Web API 设计风格。在 RESTful API 中,每个资源(如用户、文章等)都被视为一个 URI,并且支持标准的 HTTP 方法(如 GET、POST、PUT、DELETE 等)进行操作。

如何创建一个简单的 RESTful API?

第一步:安装 Node.js 和 Express

在开始创建 RESTful API 之前,您需要安装 Node.js 和 Express。其中,Node.js 是一个基于 JavaScript 的开源跨平台运行时环境,而 Express 则是一个快速、灵活的 Node.js Web 应用框架。

第二步:创建 Express 应用程序

在代码编辑器中打开命令行窗口,输入以下命令以创建一个新的 Express 应用程序:

Copy Code
$ mkdir myapp $ cd myapp $ npm init -y $ npm install express

第三步:编写代码

创建一个名为 app.js 的文件,并将以下代码复制并粘贴到其中:

javascriptCopy Code
const express = require('express') const app = express() app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(3000, () => { console.log('App listening on port 3000!') })

这段代码定义了一个简单的 Express 应用程序,其中包含一个路由处理程序,它会在访问根路径时返回 "Hello World!"。

第四步:运行应用程序

在命令行窗口中输入以下命令以运行应用程序:

Copy Code
$ node app.js

现在您已经创建了一个简单的 RESTful API,并可以在浏览器中访问它:http://localhost:3000/

举例说明

GET 方法

假设您正在构建一个博客应用程序,并想要通过 RESTful API 获取所有文章的列表。为此,您需要在 Express 应用程序中添加一个 GET 路由处理程序,如下所示:

javascriptCopy Code
app.get('/articles', (req, res) => { // 这里可以查询数据库或其他存储介质,获取文章列表数据 const articles = [ { id: 1, title: 'Hello, World!', content: '...' }, { id: 2, title: 'Introduction to Node.js', content: '...' }, { id: 3, title: 'Building RESTful APIs with Express', content: '...' } ] res.send(articles) })

在上面的代码中,我们定义了一个名为 /articles 的路由,并返回了一个包含三篇文章的 JSON 对象数组。现在,您可以在浏览器中输入 http://localhost:3000/articles 访问这个路由,看到文章列表的 JSON 数据。

POST 方法

假设您想要通过 RESTful API 创建一篇新文章。为此,您需要在 Express 应用程序中添加一个 POST 路由处理程序,如下所示:

javascriptCopy Code
app.post('/articles', (req, res) => { // 这里可以从请求体中获取新文章的数据,并将其保存到数据库或其他存储介质中 const newArticle = { id: 4, title: 'Learning Node.js', content: '...' } res.send(newArticle) })

在上面的代码中,我们定义了一个名为 /articles 的路由,并创建了一篇新文章。现在,您可以使用 Postman 或其他工具向这个路由发送 POST 请求,从而创建新文章。

PUT 方法

假设您想要通过 RESTful API 更新一篇文章的内容。为此,您需要在 Express 应用程序中添加一个 PUT 路由处理程序,如下所示:

javascriptCopy Code
app.put('/articles/:id', (req, res) => { // 这里可以从请求体中获取更新后的文章数据,并将其保存到数据库或其他存储介质中 const updatedArticle = { id: req.params.id, title: 'Updated Title', content: '...' } res.send(updatedArticle) })

在上面的代码中,我们定义了一个名为 /articles/:id 的路由,并使用 URL 参数指定了要更新的文章的 ID。现在,您可以使用 Postman 或其他工具向这个路由发送 PUT 请求,并在请求体中包含更新后的文章数据,从而更新指定的文章。

DELETE 方法

最后,假设您想要通过 RESTful API 删除一篇文章。为此,您需要在 Express 应用程序中添加一个 DELETE 路由处理程序,如下所示:

javascriptCopy Code
app.delete('/articles/:id', (req, res) => { // 这里可以从数据库或其他存储介质中删除指定的文章 const deletedArticle = { id: req.params.id, title: 'Deleted Title', content: '...' } res.send(deletedArticle) })

在上面的代码中,我们定义了一个名为 /articles/:id 的路由,并使用 URL 参数指定了要删除的文章的 ID。现在,您可以使用 Postman 或其他工具向这个路由发送 DELETE 请求,从而删除指定的文章。