什么是 RESTful API?
RESTful API 是一种基于 HTTP 协议的 Web API 设计风格。它具有简单、轻量、可扩展、可维护等特点,被广泛应用于 Web 应用程序中。
RESTful API 的核心概念是资源和 URL。资源是 Web 应用程序中的一个实体,如用户、文章等。URL 是用来唯一标识资源的地址,如 /users/1 表示 id 为 1 的用户资源。
资源
在 RESTful API 中,资源是 Web 应用程序中的一个实体。它可以是任何东西,如用户、文章、商品等。资源可以有不同的表现形式,如 JSON、XML 等。
资源应该具有唯一的标识符,通常使用 URL 来标识。例如,一个用户资源可以使用 /users/1 来标识,其中 1 是用户的唯一标识符。
资源可以有多个状态,例如,用户可以是激活状态或禁用状态。资源的状态可以通过 HTTP 方法来改变,例如,使用 PUT 方法更新用户信息,使用 DELETE 方法删除用户。
URL
URL 是用来唯一标识资源的地址。它由协议、主机名、端口号、路径和查询参数组成。例如,http://example.com:8080/users/1?name=john 是一个 URL,其中:
- 协议是 HTTP;
- 主机名是 example.com;
- 端口号是 8080;
- 路径是 /users/1;
- 查询参数是 name=john。
URL 中的路径是用来标识资源的,它应该具有唯一性。例如,/users/1 表示 id 为 1 的用户资源。
URL 中的查询参数用来表示资源的状态或过滤条件。例如,/users?status=active 表示获取状态为激活的用户列表。
示例代码
以下是一个使用 Node.js 和 Express 框架实现的 RESTful API 示例:
// www.javascriptcn.com code example
// 引入 Express 框架
const express = require('express');
const app = express();
// 定义用户资源
const users = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Alice' },
{ id: 3, name: 'Bob' },
];
// 获取所有用户
app.get('/users', (req, res) => {
res.json(users);
});
// 获取指定用户
app.get('/users/:id', (req, res) => {
const id = parseInt(req.params.id);
const user = users.find(u => u.id === id);
if (user) {
res.json(user);
} else {
res.status(404).json({ error: 'User not found' });
}
});
// 创建用户
app.post('/users', (req, res) => {
const user = req.body;
user.id = users.length + 1;
users.push(user);
res.status(201).json(user);
});
// 更新用户
app.put('/users/:id', (req, res) => {
const id = parseInt(req.params.id);
const user = users.find(u => u.id === id);
if (user) {
Object.assign(user, req.body);
res.json(user);
} else {
res.status(404).json({ error: 'User not found' });
}
});
// 删除用户
app.delete('/users/:id', (req, res) => {
const id = parseInt(req.params.id);
const index = users.findIndex(u => u.id === id);
if (index !== -1) {
users.splice(index, 1);
res.status(204).send();
} else {
res.status(404).json({ error: 'User not found' });
}
});
// 启动服务器
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});在上面的代码中,我们定义了一个用户资源,使用 GET 方法获取所有用户、获取指定用户,使用 POST 方法创建用户,使用 PUT 方法更新用户,使用 DELETE 方法删除用户。这个示例代码可以用来学习 RESTful API 的基本用法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d0f7d7a941bf71342181e5