在FastAPI的TestClient中,delete
方法通常不适用于传递请求体(payload)。DELETE请求通常不允许发送请求体。不过,根据HTTP规范,您可以通过在URL中包含查询参数或使用params
参数来传递参数。
以下是使用FastAPI的TestClient进行DELETE请求时传递参数的示例:
from fastapi.testclient import TestClient
from fastapi import FastAPI
app = FastAPI()
@app.delete("/items/{item_id}")
async def delete_item(item_id: int, param1: str):
return {"item_id": item_id, "param1": param1}
client = TestClient(app)
response = client.delete("/items/123?param1=value")
在上面的示例中,通过向URL中添加查询参数param1
来传递参数。在delete_item
函数中,我们使用item_id
和param1
参数来接收URL中的路径参数和查询参数。
请注意,根据HTTP规范,DELETE请求通常不应该包含请求体,因此TestClient的delete
方法默认不支持传递请求体。如果您需要在DELETE请求中传递请求体,您可以考虑使用其他HTTP客户端库(如requests)来手动发送DELETE请求,并在请求头中添加Content-Type
和Accept
等相关信息。