RESTful API 是前端开发中常用的一种结构风格,它可以使前后端的交互变得更加简洁和一致。而 Express 是 Node.js 平台上广受欢迎的 Web 框架之一,可以帮助我们快速搭建 Web 应用和 RESTful API。本文将讲解如何使用 Express 构建 RESTful API。
什么是 RESTful API
RESTful API 是一种基于 REST(Representational State Transfer) 架构的 Web API,用于描述通过 URI、HTTP 方法、请求和响应的格式进行资源交互的方式。它的特点包括简单、可扩展、可缓存性、可靠性等。
一般来说,RESTful API 的设计遵循以下原则:
- 每个 URI 代表一种资源
- 使用 HTTP 动词(GET、POST、PUT、DELETE)表示对资源的操作
- 使用 JSON 或 XML 格式传输数据
- 基于无状态协议(例如 HTTP)进行通信
- 可以使用缓存来提高性能
Express 简介
Express 是一个基于 Node.js 平台的 Web 框架,可以帮助我们快速搭建 Web 应用和 RESTful API。它具有以下特点:
- 极简的 API 和丰富的扩展性
- 轻量化、快速、可定制
- 支持中间件插件机制
- 轻松集成其他插件和工具
下面我们就来开始使用 Express 构建一个 RESTful API。
安装 Express
首先,我们需要安装 Express,使用以下命令:
npm install express --save
创建 Express 应用
创建一个新的 Express 应用,可以使用以下命令:
mkdir myapp cd myapp npm init npm install express --save
创建一个新的 JS 文件,例如 app.js
,然后将以下代码添加到文件中:
const express = require('express') const app = express(); app.listen(3000, () => { console.log('Server started on port 3000...') })
以上代码创建了一个新的 Express 应用,并将其绑定到本地端口 3000。运行 node app.js
命令启动应用,打开浏览器访问 http://localhost:3000
可以看到一个欢迎页面。
实现基础的 RESTful API
下面我们开始实现一个基础的 RESTful API,用于对一个简单的“待办事项”应用程序进行 CRUD 操作(增加、查找、更新、删除)。
首先,我们需要编写一些路由接口来处理不同的请求。可以在 app.js
文件中添加以下代码:
-- -------------------- ---- ------- ----- ----- - - - ------ --- ------------ ---------- ----- -- - ------ --- --------- ---------- ----- -- - ------ --- --------- ---------- ----- - -- ----------------- ----- ---- -- - --------------- --- ------------------ ----- ---- -- - ----- ----- - --------------- ----- --------- - ------------------- ----- ---- - - ------ --------- -- ----------------- --------------- --- --------------------- ----- ---- -- - ----- -- - ------------------------ ----- ----- - --------------- ----- --------- - ------------------- ----- ---- - --------------- -- ------- --- ---- -- ------ - ---------- - ----- -- ----------- -------------- - --------- -- --------------- --------------- - ---- - ---------------------- -------- ----- --- ------ --- - --- ------------------------ ----- ---- -- - ----- -- - ------------------------ ----- ----- - -------------------- -- ------- --- ---- -- ------ --- --- - ------------------- --- ---------- -------- ----- -------- --- - ---- - ---------------------- -------- ----- --- ------ --- - ---
以上代码定义了四个路由接口:GET /todos
、POST /todos
、PUT /todos/:id
、DELETE /todos/:id
。每个接口都根据 HTTP 动词来执行不同的操作。
GET /todos
返回应用程序中所有的待办事项,使用 res.json
将数据转换成 JSON 格式响应给客户端。
POST /todos
用于创建一个新的待办事项,从 req.body
获取请求数据,然后使用 todos.push
将其添加到 todos
数组中,并使用 res.json
将创建的待办事项返回给客户端。
PUT /todos/:id
用于更新一个现有的待办事项,从 req.params
获取路由参数 :id
,从 req.body
获取请求数据,然后在 todos
数组中查找匹配的待办事项并将其更新。如果没有匹配的待办事项,将返回一个 404 Not Found
响应。
DELETE /todos/:id
用于删除一个现有的待办事项,从 req.params
获取路由参数 :id
,在 todos
数组中查找匹配的待办事项并将其删除。如果没有匹配的待办事项,将返回一个 404 Not Found
响应。
测试 API
使用 Postman 或 curl 等工具,可以测试我们定义的路由接口。例如,使用以下命令来请求新建一个待办事项:
curl --request POST --url http://localhost:3000/todos --header 'content-type: application/json' --data '{"title": "学习 RESTful API", "completed": false}'
使用以下命令来请求获取所有待办事项:
curl --request GET --url http://localhost:3000/todos
使用以下命令来请求更新一个待办事项:
curl --request PUT --url http://localhost:3000/todos/1 --header 'content-type: application/json' --data '{"title": "更新后的待办事项", "completed": true}'
使用以下命令来请求删除一个待办事项:
curl --request DELETE --url http://localhost:3000/todos/1
总结
本文讲解了如何使用 Express 构建 RESTful API,从安装 Express 开始,介绍了 RESTful API 和 Express 的基础知识,然后演示了如何实现一些基本的路由接口来完成 CRUD 操作。通过这些示例代码,你可以快速上手创建 RESTful API,从而更加高效地构建前端应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6502bdcf95b1f8cacdff6c82