在FastAPI中,可以使用response_model
參數來指定不同的內容類型。例如,可以使用response_model
參數來指定返回JSON格式的數據:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
description: str
@app.get("/items/{item_id}", response_model=Item)
async def read_item(item_id: int):
return {"name": "Foo", "description": "This is a test item"}
在上面的例子中,response_model=Item
指定了返回的數據格式為Item
類,這樣FastAPI會自動將返回的數據轉換為JSON格式。
如果要指定其他的內容類型,可以使用response_class
參數來指定。例如,可以使用response_class=HTMLResponse
來返回HTML格式的數據:
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.get("/", response_class=HTMLResponse)
async def read_root():
return "<h1>Hello, World!</h1>"
在上面的例子中,response_class=HTMLResponse
指定了返回的數據格式為HTML格式。FastAPI會自動將返回的數據轉換為HTML格式。