RESTfulAPI测验:设计与实战

RESTful API 测验:设计与实现

RESTful API 是现代 Web 开发的核心技术之一,通过 HTTP 协议实现资源的创建、读取、更新和删除(CRUD)。以下是一个完整的 RESTful API 测验设计与实现,包含代码示例和关键概念解析。

测验目标
  1. 测试对 RESTful 设计原则的理解。
  2. 验证 HTTP 方法(GET、POST、PUT、DELETE)的正确使用。
  3. 检查对状态码(如 200、201、404)的掌握。

测验题目与代码实例

题目 1:实现一个简单的用户管理 API

要求:

  • 使用 Express.js 框架。
  • 支持用户的增删改查操作。

代码实现

const express = require('express');
const app = express();
app.use(express.json());

let users = [
    { id: 1, name: 'Alice' },
    { id: 2, name: 'Bob' }
];

// 获取所有用户
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({ error: 'User not found' });
    res.status(200).json(user);
});

// 创建用户
app.post('/users', (req, res) => {
    const newUser = {
        id: users.length + 1,
        name: req.body.name
    };
    users.push(newUser);
    res.status(201).json(newUser);
});

// 更新用户
app.put('/users/:id', (req, res) => {
    const user = users.find(u => u.id === parseInt(req.params.id));
    if (!user) return res.status(404).json({ error: 'User not found' });
    user.name = req.body.name;
    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({ error: 'User not found' });
    users.splice(userIndex, 1);
    res.status(204).send();
});

app.listen(3000, () => console.log('Server running on port 3000'));


题目 2:测试 API 的正确性

使用 Postman 或 cURL 测试以下场景:

  1. 获取所有用户

    curl http://localhost:3000/users
    

    预期返回状态码:200,数据为所有用户列表。

  2. 创建用户

    curl -X POST -H "Content-Type: application/json" -d '{"name":"Charlie"}' http://localhost:3000/users
    

    预期返回状态码:201,数据为新创建的用户信息。

  3. 更新用户

    curl -X PUT -H "Content-Type: application/json" -d '{"name":"David"}' http://localhost:3000/users/1
    

    预期返回状态码:200,数据为更新后的用户信息。

  4. 删除用户

    curl -X DELETE http://localhost:3000/users/1
    

    预期返回状态码:204(无内容)。


题目 3:错误处理

测试以下错误场景:

  1. 获取不存在的用户:

    curl http://localhost:3000/users/999
    

    预期返回状态码:404,错误信息为 User not found

  2. 创建用户时缺少必填字段:

    curl -X POST -H "Content-Type: application/json" -d '{}' http://localhost:3000/users
    

    预期返回状态码:400,错误信息为 Name is required


关键知识点总结

  1. HTTP 方法

    • GET:获取资源。
    • POST:创建资源。
    • PUT:更新资源。
    • DELETE:删除资源。
  2. 状态码

    • 200:请求成功。
    • 201:资源创建成功。
    • 204:无内容(常用于删除操作)。
    • 404:资源未找到。
    • 400:客户端请求错误。
  3. RESTful 设计原则

    • 资源通过 URL 标识。
    • 无状态通信。
    • 使用 JSON 作为数据格式。

通过以上测验,可以全面检验对 RESTful API 的理解与实践能力。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值