FastAPI(45)- 返回响应数据的五种常见方式
FastAPI(45)- 返回响应数据的五种常见方式
实际代码
默认情况下,路径操作函数可以返回 Python 数据类型、Pydantic Model,FastAPI 会自动将它们转换为和 JSON 兼容的数据
#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
# author: 小菠萝测试笔记
# blog: https://www.cnblogs.com/poloyy/
# time: 2021/10/3 5:03 下午
# file: 40_responses.py
"""
import uvicorn
from fastapi import FastAPI, Response
from fastapi.responses import JSONResponse
from pydantic import BaseModel
app = FastAPI()
# 1.返回字符串
@app.get("/ret_str")
def ret_str():
return "hello fastapi"
# 2.返回字典
@app.get("/ret_dict")
def ret_dict():
return {"id": 1, "name": "小菠萝"}
# 3.返回list
@app.get("/ret_list")
def ret_list():
return [1, 2, 3]
class Item(BaseModel):
id: str
name: str
# 4.返回 Pydantic Model
@app.post("/ret_pydantic")
def ret_pydantic(item: Item):
return item
# 5.返回 json 字符串
@app.get("/ret_json")
def ret_json():
return "{'id': 1, 'name': '小菠萝'}"
if __name__ == '__main__':
uvicorn.run(app="40_responses:app", reload=True, host="127.0.0.1", port=8080)
这里列出五种返回数据的方式
- 字符串
- 字典
- 列表
- Pydantic Model
- JSON 字符串
返回字符串的请求结果
返回字典的请求结果
返回列表的请求结果
返回 Pydantic Model 的请求结果
返回 JSON 字符串的请求结果
重点
- 这只是最基础简单的五种方式
- 其实 FastAPI 还提供许多返回响应数据的方式,后面的文章会一一详解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具