Bootstrap

当我对chatgpt说:生成一套客户管理后端,用flask

好的,我们来创建一套客户管理后端,使用 Flask 框架。

1.安装 Flask

首先,我们需要安装 Flask,可以通过以下命令来安装:

pip install flask

2.创建 Flask 应用

接着,我们来创建一个 Flask 应用,新建一个 app.py 文件,在文件中添加以下代码:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
    return "Hello, world!"
if __name__ == "__main__":
    app.run()

这里我们创建了一个 Flask 应用,并添加了一个路由装饰器 @app.route(“/”),表示当请求根路径时,会执行 index() 函数,并返回一个字符串。

3.启动应用

运行以下命令来启动应用:

python app.py

这时候应用就已经启动了,可以在浏览器中访问 http://localhost:5000/ 来查看效果。

4.添加客户管理 API 接口

现在我们来添加客户管理的 API 接口。可以将客户信息保存在一个列表中,然后分别添加 RESTful 风格的 API。

在 app.py 文件中添加以下代码:

from flask import Flask, jsonify, request
app = Flask(__name__)
# 客户信息列表
customers = [
    {"id": 1, "name": "Alice", "email": "[email protected]"},
    {"id": 2, "name": "Bob", "email": "[email protected]"},
    {"id": 3, "name": "Charlie", "email": "[email protected]"},
]
# 获取所有客户信息
@app.route("/customers", methods=["GET"])
def get_customers():
    return jsonify(customers)
# 根据ID获取客户信息
@app.route("/customers/<int:customer_id>", methods=["GET"])
def get_customer(customer_id):
    customer = [c for c in customers if c["id"] == customer_id]
    if len(customer) == 0:
        abort(404)
    return jsonify(customer[0])
# 添加客户信息
@app.route("/customers", methods=["POST"])
def add_customer():
    if not request.json or not "name" in request.json:
        abort(400)
    customer = {
        "id": customers[-1]["id"] + 1,
        "name": request.json["name"],
        "email": request.json.get("email", ""),
    }
    customers.append(customer)
    return jsonify(customer), 201
# 修改客户信息
@app.route("/customers/<int:customer_id>", methods=["PUT"])
def update_customer(customer_id):
    customer = [c for c in customers if c["id"] == customer_id]
    if len(customer) == 0:
        abort(404)
    if not request.json:
        abort(400)
    customer[0]["name"] = request.json.get("name", customer[0]["name"])
    customer[0]["email"] = request.json.get("email", customer[0]["email"])
    return jsonify(customer[0])
# 删除客户信息
@app.route("/customers/<int:customer_id>", methods=["DELETE"])
def delete_customer(customer_id):
    customer = [c for c in customers if c["id"] == customer_id]
    if len(customer) == 0:
        abort(404)
    customers.remove(customer[0])
    return jsonify({"result": True})
if __name__ == "__main__":
    app.run()

这里我们添加了 5 个路由,分别对应客户信息的增、删、改、查。

GET /customers:获取所有客户信息
GET /customers/int:customer_id:根据 ID 获取客户信息
POST /customers:添加客户信息
PUT /customers/int:customer_id:根据 ID 修改客户信息
DELETE /customers/int:customer_id:根据 ID 删除客户信息
其中 jsonify() 函数会将 Python 对象转换为 JSON 格式的响应对象,abort() 函数会返回一个指定的 HTTP 错误响应。

5.测试 API 接口

现在可以使用 Curl 或是使用 Postman 等 API 测试工具来测试 API 接口的功能。

获取所有客户信息:

curl -X GET http://localhost:5000/customers

根据 ID 获取客户信息:

curl -X GET http://localhost:5000/customers/1

添加客户信息:

curl -X POST http://localhost:5000/customers -H "Content-Type: application/json" -d '{"name": "David", "email": "[email protected]"}'

根据 ID 修改客户信息:

curl -X PUT http://localhost:5000/customers/4 -H "Content-Type: application/json" -d '{"email": "[email protected]"}'

根据 ID 删除客户信息:

curl -X DELETE http://localhost:5000/customers/4

这样,一套客户管理后端就搭建完成了。

多了不说了。哎~~将来有些工作可能真的会被 替代

;