2. 构建简单的RESTful API返回JSON数据

任务说明

本案例使用 Flask 构建一个最小可用的 RESTful API,提供 GET /api/items 接口,返回 JSON 格式的商品列表数据。通过浏览器或 curl 访问该接口,验证响应状态码与 JSON 数据结构。

实现代码

# app.py
from flask import Flask, jsonify

app = Flask(__name__)

# 模拟数据源
ITEMS = [
    {"id": 1, "name": "Python编程入门", "price": 59.0},
    {"id": 2, "name": "Flask Web开发", "price": 79.0},
    {"id": 3, "name": "RESTful API设计指南", "price": 49.0}
]

@app.route('/api/items', methods=['GET'])
def get_items():
    """返回全部商品列表"""
    return jsonify({"code": 0, "message": "success", "data": ITEMS})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)

运行与验证

依赖安装:

pip install flask

启动服务:

python app.py

验证方法:服务启动后,在浏览器访问 http://127.0.0.1:5000/api/items,或使用 curl 命令:

curl http://127.0.0.1:5000/api/items

判定标准:响应状态码为 200 OK,响应体为 JSON 格式,包含 code、message、data 三个字段,其中 data 为包含 3 个商品对象的数组,每个对象含 id、name、price 字段。

预期输出

{
  "code": 0,
  "message": "success",
  "data": [
    {"id": 1, "name": "Python编程入门", "price": 59.0},
    {"id": 2, "name": "Flask Web开发", "price": 79.0},
    {"id": 3, "name": "RESTful API设计指南", "price": 49.0}
  ]
}
客户端 curl / 浏览器 GET /api/items Flask API服务 app.py 端口:5000 读取 内存数据 ITEMS列表 3条商品记录 200 OK + JSON 响应JSON结构: { "code": 0, "message": "success", "data": [ {id, name, price}, ... ] } code: 业务状态码 | message: 提示信息 | data: 商品对象数组