• 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 还提供许多返回响应数据的方式,后面的文章会一一详解
  • 相关阅读:
    安卓学习第12课——SimpleAdapter
    用栈结构实现多项式计算器
    用B-树实现虚拟图书管理系统
    HDU4791【杂】
    HDU4801【DFS】
    萌新学习图的强连通(Tarjan算法)笔记
    Lightoj 1021【状压DP(未搞)】
    Lightoj 1008【规律】
    CodeForces Canada Cup 2016【A,B,C,D】
    51nod 1068【简单博弈】
  • 原文地址:https://www.cnblogs.com/poloyy/p/15364635.html
Copyright © 2020-2023  润新知