Python快速入门系列教程 —— 第五篇:接口开发实战指南

第五节:接口开发

目标:

学习使用Flask框架开发简单的Web接口,实现对学生信息的增删改查,通过HTTP请求与应用交互。

内容:
  1. Flask简介

  2. Flask是一个轻量级的Python Web框架,使用简单,扩展性强,适合快速开发Web应用。
  3. 安装Flask

    pip install flask
    
  4. 创建Flask应用

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def home():
        return 'Hello, Flask!'
    
    if __name__ == '__main__':
        app.run(debug=True)
    
  5. 运行后访问http://localhost:5000/,即可看到“Hello, Flask!”。
  6. 定义API接口

  7. 获取所有学生信息GET /students
  8. 获取特定学生信息GET /students/<name>
  9. 添加学生信息POST /students
  10. 更新学生信息PUT /students/<name>
  11. 删除学生信息DELETE /students/<name>
  12. 实现API接口

    from flask import Flask, request, jsonify
    app = Flask(__name__)
    db = StudentDB()  # 使用前一节定义的StudentDB类
    
    @app.route('/students', methods=['GET'])
    def get_students():
        students = db.get_all_students()
        return jsonify(students)
    
    @app.route('/students/<name>', methods=['GET'])
    def get_student(name):
        student = db.get_student(name)
        if student:
            return jsonify(student)
        else:
            return 'Student not found', 404
    
    @app.route('/students', methods=['POST'])
    def add_student():
        data = request.get_json()
        db.add_student(data['name'], data['age'], data['major'])
        return 'Student added', 201
    
    @app.route('/students/<name>', methods=['PUT'])
    def update_student(name):
        data = request.get_json()
        db.update_student(name, age=data.get('age'), major=data.get('major'))
        return 'Student updated', 200
    
    @app.route('/students/<name>', methods=['DELETE'])
    def delete_student(name):
        db.delete_student(name)
        return 'Student deleted', 200
    
    if __name__ == '__main__':
        app.run(debug=True)
    
  13. 测试接口

  14. 使用工具如Postman或curl发送HTTP请求,测试各个接口的功能。
练习:
  • 使用curl命令或Postman,向/students接口发送GET请求,获取所有学生信息。
  • /students接口发送POST请求,添加一个新的学生信息。
  • 更新某个学生的信息,然后验证更新结果。
  • 删除一个学生信息,并确保数据库中该记录已被删除。

  • 作者:孤华暗香

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python快速入门系列教程 —— 第五篇:接口开发实战指南

    发表回复