1FastAPI新建服务

创建基础服务

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()  # 实例化app


# 创建接口函数
@app.get('/')
def hellow_world():
    return {'hello_world'}


请求传参


  # 创建校验类用来校验传参
class Hellow(BaseModel):
    # 必填字符串类型
    hallow: str
    # 选填布尔类型,有默认值
    world: bool = None
      

# 获取路径传参
@app.get('/{parameter}')
# 所有的查询参数(/?queryParameter=dd)
def hellow_world(parameter: str, queryParameter: str = None):
    return {'路径参数': parameter, '查询参数': queryParameter}


# 获取路径传参
@app.put('/{parameter}')
# 所有的查询参数(/?queryParameter=dd)
def hellow_world(parameter: str, queryParameter: Hellow):
    return {'路径参数': parameter, '查询参数': queryParameter.hallow}

  
  
# 如果想使用异步api在函数前添加async:
# 获取路径传参
@app.get('/{parameter}')
# 所有的查询参数(/?queryParameter=dd)
async def hellow_world(parameter: str, queryParameter: str = None):
    return {'路径参数': parameter, '查询参数': queryParameter}

交互文档

http://127.0.0.1:8000/docs

http://127.0.0.1:8000/redoc

启动服务

命令行启动


# 启动命令:uvicorn 文件名:实例名
# 修改文件自动重启命令
# 启动命令:uvicorn hello_world:app --reload

配置pycharm启动服务

image-20211204222839030

脚本文件启动

# 导入 uvicorn
import uvicorn
"""
app 程序
"""
if __name__ == '__main__':
  """
  reload:修改文件自动重启。
  debug:debug模式。
  workers:设置进程数量。
  """
    uvicorn.run('run:app', host='0.0.0.0', port=8000, reload=True, debug=True, workers=1)

原文地址:https://www.cnblogs.com/oysq/p/15650925.html