FastAPI-1

发布于 2021-11-04  291 次阅读


FastAPI文档链接:https://fastapi.tiangolo.com/

语言:Python

用途:Web后端

安装:pip3 install fastapi

pip3 install uvicorn

编写工具:pyCharm

运行:在项目路径终端运行 uvicorn main:app --reload

或者在main.py下写入以下代码后运行:

if __name__ == "__main__":
    # 启动服务,因为我们这个文件叫做 main.py,所以需要启动 main.py 里面的 app
    # 第一个参数 "main:app" 就表示这个含义,然后是 host 和 port 表示监听的 ip 和端口
    uvicorn.run("main:app", host="0.0.0.0", port=8126,reload=True,debug=True)

 API 文档地址:http://127.0.0.1:8126/redoc

http://127.0.0.1:8126/docs

main.py代码:

import uvicorn
from typing import Optional
from pydantic import BaseModel
from fastapi import FastAPI

app = FastAPI()


class Item(BaseModel):
    name: str
    price: float
    is_offer: Optional[bool] = None


@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
    return {"item_id": item_id, "q": q}


@app.put("/items/{item_id}")
def update_item(item_id: int, item: Item):
    return {"item_name": item.name, "item_id": item_id}


# 在 Windows 中必须加上 if __name__ == "__main__",否则会抛出 RuntimeError: This event loop is already running
if __name__ == "__main__":
    # 启动服务,因为我们这个文件叫做 main.py,所以需要启动 main.py 里面的 app
    # 第一个参数 "main:app" 就表示这个含义,然后是 host 和 port 表示监听的 ip 和端口
    uvicorn.run("main:app", host="0.0.0.0", port=8126, reload=True, debug=True)

小叶,嘿嘿嘿,喜欢你,嘿嘿嘿。。。