const express = require('express');
const app = express();
const port = 3000;

app.use(express.json());

// 创建示例数据
let users = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 3, name: 'Charlie' }
];

// 获取所有用户
app.get('/api/users', (req, res) => {
  res.send(users);
});

// 根据ID获取特定用户
app.get('/api/users/:id', (req, res) => {
  const user = users.find(u => u.id === parseInt(req.params.id));
  
  if (!user) {
    return res.status(404).send('User not found');
  }

  res.send(user);
});

// 创建新用户
app.post('/api/users', (req, res) => {
  if (!req.body.name) {
    return res.status(400).send('Name is required');
  }
  
  const user = {
    id: users.length + 1,
    name: req.body.name
  };
  
  users.push(user);
  res.send(user);
});

// 更新用户信息
app.put('/api/users/:id', (req, res) => {
  const user = users.find(u => u.id === parseInt(req.params.id));
  
  if (!user) {
    return res.status(404).send('User not found');
  }

  if (!req.body.name) {
    return res.status(400).send('Name is required');
  }
  
  user.name = req.body.name;
  res.send(user);
});

// 删除用户
app.delete('/api/users/:id', (req, res) => {
  const user = users.find(u => u.id === parseInt(req.params.id));
  
  if (!user) {
    return res.status(404).send('User not found');
  }
  
  const index = users.indexOf(user);
  users.splice(index, 1);
  
  res.send(user);
});

app.listen(port, () => {
  console.log(`Server listening on port ${port}`);
});

以上示例展示了使用Express框架构建RESTful API的基本操作,包括获取所有用户、根据ID获取特定用户、创建新用户、更新用户信息以及删除用户。通过使用Express提供的路由和中间件功能,我们可以轻松地创建和管理API端点,并对数据进行增删改查操作。