其他分享
首页 > 其他分享> > FastAPI(2)- 快速入门

FastAPI(2)- 快速入门

作者:互联网

安装 FastAPI

pip install fastapi

# 将来需要将应用程序部署到生产环境可以安装 uvicorn 作为服务器
pip install uvicorn

 

最简单的代码栗子

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

 

运行 uvicorn 命令,启动服务器

进到 py 文件所属目录的命令行

uvicorn main:app --reload  

 

我这里截图的名字换了哈

 

浏览器访问

http://127.0.0.1:8000 

 

查看交互式 API 文档

http://127.0.0.1:8000/docs

 

查看可选的 API 文档

http://127.0.0.1:8000/redoc 

  

OpenAPI

FastAPi 使用 API 的 OpenAPI 标准为所有 API 生成 schema

 

schema

 

API Schema

 

Data Schema

 

JSON Schema

 

查看 openapi.json

原始的 OpenAPI Schema,其实它只是一个自动生成的包含了所有 API 描述的 JSON 数据结构

http://127.0.0.1:8000/openapi.json 

 

拆分代码详解

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

将上面最简单的栗子代码进行拆开详解

 

第一步:导入 FastAPI

from fastapi import FastAPI

 

第二步:创建一个 FastAPI 实例

app = FastAPI()
uvicorn main:app --reload

 

app 变量名换一下呢?

from fastapi import FastAPI


my_awesome_api = FastAPI()


@my_awesome_api.get("/")
async def root():
    return {"message": "Hello World"}

 

那么用 uvicorn 运行命令时也需要换

uvicorn main:my_awesome_api --reload

 

第三步:创建一个路径操作

路径

 

操作

就是 HTTP 请求方法

在 HTTP 协议中,可以使用以上的其中一种(或多种)「方法」与每个路径进行通信

 

遵守 RESTFul 风格的话

通常使用: 

 

定义一个路径操作装饰器

@app.get("/")

 

有两点含义

 

其他请求方法的装饰器

 

第四步:定义路径操作函数

async def root():
# 也可以不加 async,就是个常规函数
def root():

 

第五步:函数返回内容

return {"message": "Hello World"}

 

FastAPI 入门总结

编写一个最简单的 FastAPI 应用程序五部曲

  1. 导入 FastAPI
  2. 创建一个 app 实例
  3. 编写一个路径操作装饰器,如 @app.get("/") 
  4. 编写一个路径操作函数,如  def root(): ... 
  5. 运行开发服务器,如  uvicorn main:app --reload 

 

标签:入门,FastAPI,app,路径,uvicorn,API,快速,Schema
来源: https://www.cnblogs.com/poloyy/p/15265095.html