FastAPI基本知识点

一、服务器的运行 

首先安装uvicorn,参考代码如下:

pip install uvicorn

运行服务器的方式一:在终端运行

在终端输入以下命令即可运行服务器:

uvicorn main:app --reload --host 5.6.5.7 --port 8080
# main:app指文件名称:FastAPI对象
# host是IP,默认是127.0.0.1
# port指端口号,默认是8000

运行服务器的方式二:源文件运行

if __name__ == '__main__':
    uvicorn.run("main:app", host=5.6.5.7, port=8080, reload=True)
# main:app指文件名称:FastAPI对象
# host是IP,默认是127.0.0.1
# port指端口号,默认是8000

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然,我可以为您提供一个稍微复杂一的 FastAPI 示例代码,以展示一些更高级的功能。以下是一个示例: ```python from fastapi import FastAPI, HTTPException from pydantic import BaseModel app = FastAPI() # 模拟数据库的数据 db = [] # 定义数据模型 class Item(BaseModel): id: int name: str price: float # 创建商品 @app.post("/items/") def create_item(item: Item): db.append(item) return {"message": "Item created successfully"} # 获取商品列表 @app.get("/items/") def get_items(): return db # 获取单个商品 @app.get("/items/{item_id}") def get_item(item_id: int): for item in db: if item.id == item_id: return item raise HTTPException(status_code=404, detail="Item not found") # 更新商品 @app.put("/items/{item_id}") def update_item(item_id: int, item: Item): for i in range(len(db)): if db[i].id == item_id: db[i] = item return {"message": "Item updated successfully"} raise HTTPException(status_code=404, detail="Item not found") # 删除商品 @app.delete("/items/{item_id}") def delete_item(item_id: int): for i in range(len(db)): if db[i].id == item_id: db.pop(i) return {"message": "Item deleted successfully"} raise HTTPException(status_code=404, detail="Item not found") ``` 在这个示例中,我们引入了 `BaseModel` 类来定义数据模型 `Item`,并使用装饰器 `@app.post()`、`@app.get()`、`@app.put()` 和 `@app.delete()` 来创建了对应的 RESTful API 路由。 我们使用一个简单的列表 `db` 来模拟数据库,并在相应的路由函数中进行数据的增删改查操作。如果某个操作无法找到对应的商品,则抛出一个自定义的 `HTTPException` 异常。 这个示例展示了一些常见的 FastAPI 功能,如请求方法、路径参数、请求体参数、异常处理等。您可以根据您的需求进一步扩展和优化这个示例。希望对您有帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值