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

本文演示了如何使用Python的Flask框架创建一个简单的客户管理后端,包括设置基本的Flask应用,添加客户信息的增、删、改、查API接口,并提供了使用Curl进行测试的例子。
摘要由CSDN通过智能技术生成

好的,我们来创建一套客户管理后端,使用 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": "alice@example.com"},
    {"id": 2, "name": "Bob", "email": "bob@example.com"},
    {"id": 3, "name": "Charlie", "email": "charlie@example.com"},
]
# 获取所有客户信息
@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": "david@example.com"}'

根据 ID 修改客户信息:

curl -X PUT http://localhost:5000/customers/4 -H "Content-Type: application/json" -d '{"email": "david@example.com"}'

根据 ID 删除客户信息:

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一_二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值