FastAPI-4-路径参数

关于 async 我们先阅读一下廖老师的异步IO  https://www.liaoxuefeng.com/wiki/1016959663602400/1017968846697824

 

路径参数

from fastapi import FastAPI

app = FastAPI()


@app.get("/items/{item_id}")     # 路径参数 item_id 的值将作为参数 item_id 传递给你的函数。
async def read_item(item_id):    
    return {"item_id": item_id}

有类型的路径参数

from fastapi import FastAPI

app = FastAPI()


@app.get("/items/{item_id}")
async def read_item(item_id: int):  # 类型声明:item_id 为一个整形。这里就算我传的参数是字符串'3',FastAPI都会自动帮我输出成int型,但是你传’foo’将会报错
    return {"item_id": item_id}

 

包含路径的路径参数

假设你有一个路径操作,它的路径为 /files/{file_path}

但是你需要 file_path 自身也包含路径,比如 home/johndoe/myfile.txt

因此,该文件的URL将类似于这样:/files/home/johndoe/myfile.txt

路径转换器

你可以使用直接来自 Starlette 的选项来声明一个包含路径路径参数

from fastapi import FastAPI

app = FastAPI()


@app.get("/files/{file_path:path}")
async def read_file(file_path: str):
    return {"file_path": file_path}

你可能会需要参数包含 /home/johndoe/myfile.txt,以斜杠(/)开头。

在这种情况下,URL 将会是 /files//home/johndoe/myfile.txt,在files 和 home 之间有一个双斜杠(//)。

上一篇:Python基础语法


下一篇:Python-列表元素的判断and遍历