在 FastAPI 中,你可以使用 OpenAPI(通过 Swagger UI 或 ReDoc)查看和测试 API 的文档。FastAPI 自动生成的 OpenAPI 文档中,你可以看到各种响应的详细信息。以下是一些常见的 OpenAPI 文档中的其他响应:

1. 默认响应(default response):
from fastapi import FastAPI

app = FastAPI()

@app.get("/items/")
async def read_items():
    return {"message": "Read all items"}

在这个例子中,默认的响应将被 FastAPI 自动生成,通常表示成功的状态码(200 OK)。

2. 自定义响应的描述:
from fastapi import FastAPI
from fastapi.responses import JSONResponse

app = FastAPI()

@app.get("/items/", response_class=JSONResponse, response_model=dict)
async def read_items():
    return {"message": "Read all items"}

在这个例子中,我们使用了 response_class 参数指定了返回的响应类型,并使用了 response_model 参数指定了响应模型,这些信息将会在 OpenAPI 文档中显示。

3. 多个响应(Multiple Responses):
from fastapi import FastAPI
from fastapi.responses import JSONResponse

app = FastAPI()

@app.get("/items/", response_class=JSONResponse, responses={200: {"model": dict}, 403: {"description": "Forbidden"}})
async def read_items():
    return {"message": "Read all items"}

在这个例子中,我们使用了 responses 参数,为不同的状态码定义了不同的响应信息。

4. 响应头(Response Headers):
from fastapi import FastAPI
from fastapi.responses import JSONResponse

app = FastAPI()

@app.get("/items/", response_class=JSONResponse, response_model=dict, headers={"X-Custom-Header": "value"})
async def read_items():
    return {"message": "Read all items"}

在这个例子中,我们使用了 headers 参数,为响应添加了自定义的头信息。

这些是一些常见的在 OpenAPI 文档中定义和显示的响应相关的信息。通过使用这些参数,你可以更好地控制 API 的文档和响应信息。


转载请注明出处:http://www.zyzy.cn/article/detail/7409/FastAPI