路径参数

普通路径参数

  1. @app.get('/info/{id}')
  2. def get_info(id):
  3. return {'id': id}

多组参数

  1. @app.get('/book/{title}/{page}')
  2. def get_title(title, page):
  3. return {'title': title, 'page': page }

路径参数的顺序决定后端接收的值,按顺序传递参数和是指参数

限定参数类型

  1. @app.get('/user/{id}')
  2. def get_info(id: int): # 与 Flask 不同,FastAPI 限制参数类型在函数参数中定义
  3. return {'id': id}

路径转换器

  1. # 将路径作为参数,包含 "/" ,比如: /图书/2/308
  2. @app.get('/info/{info: path}') # 必须叫 path
  3. def get_path(info: str):
  4. return info

枚举参数

  1. # 限定路径必须为枚举
  2. from enum import Enum
  3. from fastapi import FastAPI
  4. class Gender(str, Enum):
  5. man = 'man'
  6. woman = 'woman'
  7. unkown = 'unkown'
  8. app = FastAPI()
  9. @app.get('/user/{gender}')
  10. def get_gender(gender: Gender):
  11. return gender

查询参数

可选参数

混合参数

数据校验