REST (Representational State Transfer) 是一种软件架构风格,用于设计网络应用程序的API。它基于HTTP协议,使用标准的HTTP方法(GET, POST, PUT, DELETE等)来操作资源。
REST API的核心原则包括:
| 方法 | 描述 | 幂等性 | 安全性 | |--------|--------------------------|--------|--------| | GET | 获取资源 | 是 | 是 | | POST | 创建资源 | 否 | 否 | | PUT | 更新整个资源 | 是 | 否 | | PATCH | 部分更新资源 | 否 | 否 | | DELETE | 删除资源 | 是 | 否 | | HEAD | 获取资源元数据 | 是 | 是 | | OPTIONS| 获取资源支持的通信选项 | 是 | 是 |
/users
而不是 /getUsers
/users
而不是 /user
/users/1
而不是 /users/1.json
/users?active=true&sort=name&page=2&limit=10
/v1/users
或通过请求头控制const express = require('express');
const app = express();
app.use(express.json());
let users = [
{ id: 1, name: 'John Doe', email: 'john@example.com' },
{ id: 2, name: 'Jane Smith', email: 'jane@example.com' }
];
// 获取所有用户
app.get('/users', (req, res) => {
res.status(200).json(users);
});
// 获取单个用户
app.get('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
if (!user) return res.status(404).json({ message: 'User not found' });
res.status(200).json(user);
});
// 创建用户
app.post('/users', (req, res) => {
const user = {
id: users.length + 1,
name: req.body.name,
email: req.body.email
};
users.push(user);
res.status(201).json(user);
});
// 更新用户
app.put('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
if (!user) return res.status(404).json({ message: 'User not found' });
user.name = req.body.name;
user.email = req.body.email;
res.status(200).json(user);
});
// 删除用户
app.delete('/users/:id', (req, res) => {
const userIndex = users.findIndex(u => u.id === parseInt(req.params.id));
if (userIndex === -1) return res.status(404).json({ message: 'User not found' });
users.splice(userIndex, 1);
res.status(204).send();
});
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
/users?page=1&limit=10
/v1/users
Accept: application/vnd.myapi.v1+json
没有搜到相关的文章