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 还提供许多返回响应数据的方式,后面的文章会一一详解