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 Codeconst 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 Codeapp.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 Codeapp.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 Codeapp.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 Codeapp.delete('/articles/:id', (req, res) => {
// 这里可以从数据库或其他存储介质中删除指定的文章
const deletedArticle = { id: req.params.id, title: 'Deleted Title', content: '...' }
res.send(deletedArticle)
})
在上面的代码中,我们定义了一个名为 /articles/:id
的路由,并使用 URL 参数指定了要删除的文章的 ID。现在,您可以使用 Postman 或其他工具向这个路由发送 DELETE 请求,从而删除指定的文章。