如何从 Sanic Framework 上的 DELETE 请求中读取 JSON 有效载荷?

How to read a JSON payload from a DELETE request on Sanic Framework?

在前端,我正在发送带有 JSON 负载的 DELETE 请求。这工作正常并且数据正确发送,但在后端 - 使用 Sanic 框架 - 请求的主体是空的。

print(request.body) # b''
print(request.json) # None

如何从 DELETE 请求访问请求的正文?

默认情况下,Sanic 不会消耗 body 的 DELETE。有两种选择:

选项 #1 - 告诉 Sanic 使用 body

@app.delete("/path", ignore_body=False)
async def handler(_):
    ...

选项 #2 - 在处理程序中手动使用 body

@app.delete("/path")
async def handler(request: Request):
    await request.receive_body()

Release notes API docs