好的,我们来创建一套客户管理后端,使用 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
这样,一套客户管理后端就搭建完成了。
多了不说了。哎~~将来有些工作可能真的会被 替代