0
点赞
收藏
分享

微信扫一扫

fastapi 的 TestClient 的 delete 方法如何传递请求体?

在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_idparam1参数来接收URL中的路径参数和查询参数。

请注意,根据HTTP规范,DELETE请求通常不应该包含请求体,因此TestClient的delete方法默认不支持传递请求体。如果您需要在DELETE请求中传递请求体,您可以考虑使用其他HTTP客户端库(如requests)来手动发送DELETE请求,并在请求头中添加Content-TypeAccept等相关信息。

举报

相关推荐

0 条评论