1. 程式人生 > 其它 >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 還提供許多返回響應資料的方式,後面的文章會一一詳解