fastapi接收数据,然后判断是不是json类型
时间: 2023-07-07 22:43:20 浏览: 72
fastapi-jsonrpc:基于fastapi的JSON-RPC服务器
可以使用 `fastapi.Request` 对象来获取请求数据,然后使用内置的 `json` 模块来判断是否为合法的 JSON 数据。
下面是一个示例代码:
```python
from fastapi import FastAPI, Request
import json
app = FastAPI()
@app.post("/test")
async def test(request: Request):
content_type = request.headers.get("Content-Type")
if content_type != "application/json":
return {"error": "Invalid Content-Type"}
try:
json_data = await request.json()
# 如果无法解析为JSON,会抛出异常
except json.JSONDecodeError:
return {"error": "Invalid JSON"}
return {"data": json_data}
```
在上面的示例代码中,我们首先获取请求头中的 `Content-Type` 字段,判断是否为 JSON 类型。然后使用 `request.json()` 方法来获取请求数据,并解析为 JSON 对象。如果无法解析为 JSON 对象,会抛出 `json.JSONDecodeError` 异常,我们可以捕获这个异常并返回错误信息。
阅读全文