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 還提供許多返回響應數據的方式,后面的文章會一一詳解

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM