原创

使用 Python 构建一个简单的 REST API

温馨提示:
本文最后更新于 2024年07月26日,已超过 251 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

使用 Python 构建一个简单的 REST API

简介

本文档将引导您使用 Python 和 Flask 框架构建一个简单的 REST API。我们将创建一个 API,用于管理一个虚拟的书籍数据库。

准备工作

  • Python 环境: 确保您的系统上安装了 Python 3.x。
  • Flask 框架: 使用 pip 安装 Flask:

bash pip install Flask

项目结构

project/ ├── app.py └── data/ └── books.json

1. 创建应用程序文件 (app.py)

```python from flask import Flask, jsonify, request

app = Flask(name)

加载书籍数据

def load_books(): with open("data/books.json", "r") as f: return json.load(f)

初始化书籍数据

books = load_books()

获取所有书籍

@app.route("/books", methods=["GET"]) def get_books(): return jsonify(books)

获取特定书籍

@app.route("/books/", methods=["GET"]) def get_book(book_id): for book in books: if book["id"] == book_id: return jsonify(book) return jsonify({"error": "Book not found"}), 404

创建新书籍

@app.route("/books", methods=["POST"]) def create_book(): new_book = request.get_json() books.append(new_book) return jsonify({"message": "Book created successfully"}), 201

更新书籍

@app.route("/books/", methods=["PUT"]) def update_book(book_id): for i, book in enumerate(books): if book["id"] == book_id: books[i] = request.get_json() return jsonify({"message": "Book updated successfully"}), 200 return jsonify({"error": "Book not found"}), 404

删除书籍

@app.route("/books/", methods=["DELETE"]) def delete_book(book_id): for i, book in enumerate(books): if book["id"] == book_id: del books[i] return jsonify({"message": "Book deleted successfully"}), 204 return jsonify({"error": "Book not found"}), 404

if name == "main": app.run(debug=True) ```

2. 创建书籍数据文件 (data/books.json)

json [ { "id": 1, "title": "The Hitchhiker's Guide to the Galaxy", "author": "Douglas Adams", "genre": "Science Fiction" }, { "id": 2, "title": "1984", "author": "George Orwell", "genre": "Dystopian" } ]

运行 API

在终端中运行以下命令:

bash python app.py

现在,您的 API 应该在 http://127.0.0.1:5000/ 上运行。

测试 API

您可以使用工具如 Postman 或 curl 来测试 API 端点。

例如,使用 curl 获取所有书籍:

bash curl http://127.0.0.1:5000/books

总结

本文档演示了如何使用 Python 和 Flask 构建一个简单的 REST API。您可以根据需要扩展此 API,添加更多端点和功能。

正文到此结束