使用Trae编辑器开发Python Api (FastApi 框架)

Cursor 和 Trae

现在能够自动写代码的编辑器 ,最火热的就是Cursor 和 Trae 了;
Cursor: 是国外的,免费版的 Agent 也有次数限制,升级 Pro版本的话每个月20美元,Business的更贵;背靠 VS Code,插件生态没得说,几乎你能想到的功能都有现成的轮子;付费版的 Agent 能力强大,适合处理复杂任务,但免费版能力受限。
Trae: 目前 Trae 是完全免费的,免费是王道!界面是中文,本土化出色,适合快速搭建原型或处理中等复杂度的任务;
所以,Trae适合初始项目、小型项目,复杂的大型项目Cursor更合适;今天我们主要是搭建个FastApi的简单几个API项目,所以使用Trae非常合适;

下载地址: Trae编辑器

下载完成后,打开编辑器,里面的样子和我们平时开发用的编辑器差不多,你要新建一个项目,你需要先去选择一个文件夹,也就是存放项目的地方;

本来想使用Builer模式,但是现在builder模型太不稳定了,尝试了一番,用了半小时也没把我项目启动起来,所以还是使用Chat模式;

按照提示,一步一步操作就可以了;

这个案例是使用列表模拟数据库存储用户数据;

代码:

python 复制代码
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel

# 创建 FastAPI 应用实例
app = FastAPI()

# 定义用户模型
class User(BaseModel):
    id: int
    name: str
    email: str
    age: int

# 模拟数据库
users = []

# 定义根路径的 GET 请求处理函数
@app.get("/")
def read_root():
    return {"Hello": "World"}

# 创建用户
@app.post("/users/")
def create_user(user: User):
    # 检查用户 ID 是否已存在
    for existing_user in users:
        if existing_user.id == user.id:
            raise HTTPException(status_code=400, detail="User already exists")
    users.append(user)
    return user

# 读取所有用户
@app.get("/users/")
def read_all_users():
    return users

# 读取单个用户
@app.get("/users/{user_id}")
def read_user(user_id: int):
    for user in users:
        if user.id == user_id:
            return user
    raise HTTPException(status_code=404, detail="User not found")

# 更新用户信息
@app.put("/users/{user_id}")
def update_user(user_id: int, updated_user: User):
    for index, user in enumerate(users):
        if user.id == user_id:
            users[index] = updated_user
            return updated_user
    raise HTTPException(status_code=404, detail="User not found")

# 删除用户
@app.delete("/users/{user_id}")
def delete_user(user_id: int):
    for index, user in enumerate(users):
        if user.id == user_id:
            del users[index]
            return {"message": "User deleted successfully"}
    raise HTTPException(status_code=404, detail="User not found")

通过上面代码,可以知道,这个demo有几个api:

路径 请求方式 功能说明
/ get 根路径请求
/users/ get 读取所有用户信息
/users/ post 创建用户
/users/{user_id} get 读取单个用户
/users/{user_id} put 更新用户信息
/users/{user_id} delete 删除用户

根路径请求:

浏览器只能发送get请求,所以我们使用postman来发送post、put、delete请求;

使用post请求来创建用户信息,调取 /users/ Api;


使用get请求获取所有用户,调取 /users/,使用浏览器查看

读取单个用户:/users/{user_id}

使用put请求更改某个用户信息,调取 /users/{user_id},使用postman


使用delete请求删除某个用户信息,调取 /users/{user_id},使用postman


下篇文章讲如何做coze插件;

相关推荐
Wx-bishekaifayuan5 分钟前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
青少儿编程课堂34 分钟前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
计算机编程指导师1 小时前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通
Wx-bishekaifayuan1 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
WeiXin_DZbishe1 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
泡茶喝茶写代码1 小时前
A股量化数据工程:从 REST 接口到策略信号(第 18 篇):放量缩量异动扫描
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
WeiXin_DZbishe1 小时前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计
imgsq3 小时前
电子学会考级 vs CCF-GESP:两套少儿编程考级怎么选
python·青少年编程
Smoothcloud润云3 小时前
PyTorch推理服务动态批处理实战:兼顾吞吐与延迟
人工智能·pytorch·python·深度学习·ai·gpu算力