记录自己的第一个fastAPI练手项目(注册和登录接口)

1.注册接口 用户名不可重复 

app = FastAPI()

@app.post("/sign_in")
async def sign_in(user: User):
    try:
        data = find_by_info('select * from login where username="{}"'.format(user.username))
        if len(data) > 0:
            return {"code": 1, "message": "用户名已经存在"}
        else:
            insert_to_sql(user.username, user.password, user.email)
    except Exception as e:
        print(e)
        return {"code": 2, "message": "操作异常 {}".format(e)}
    else:
        return {"code": 0, "message": "操作成功"}

 2. 登录接口 

@app.post("/login_in")
async def login_in(info: Login):
    try:
        data = find_by_info('select * from login where username="{}"'.format(info.username))
        if len(data) == 0:
            return {"code": 1, "message": "找不到用户,请先注册"}
        else:
            if info.username == data['username'] and info.password != data['password']:
                return {"code": 2, "message": "密码错误"}
            else:
                access_token_expires = timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
                access_token = create_access_token(
                    data={"username": info.username, "password": info.password}, expires_delta=access_token_expires)
                return {"code": 0, "message": "操作成功", "token": access_token}
    except Exception as e:
        print("操作异常{}".format(e))
        return {"code": 3, "message": "操作异常"}

3.最后使用uvicorn.run执行 

uvicorn.run(app=app, host="0.0.0.0", port=8081, timeout_keep_alive=1200)

也可以通过输入命令执行

uvicorn main:app --reload

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值