zoukankan      html  css  js  c++  java
  • FastAPI 基础学习(二)开发环境安装

    作者:麦克煎蛋   出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢!

    一、依赖项

    Python 3.6+

    FastAPI 站在这些巨人的肩膀上

    可选依赖项:

    Pydantic需要:

    Starlette需要:

    FastAPI / Starlette需要:

    • uvicorn - 加载和服务程序需要.
    • orjson - ORJSONResponse 需要.

    你可以通过以下命令安装以上所有安装包:

     pip install fastapi[all]

    二、安装

    1、pip install fastapi

    2、我们需要一个ASGI服务器,可以使用 Uvicorn 或 Hypercorn

         pip install uvicorn

    三、示例

    1、新建文件main.py

    from fastapi import FastAPI
    
    app = FastAPI()
    
    
    @app.get("/")
    def read_root():
        return {"Hello": "World"}
    
    
    @app.get("/items/{item_id}")
    def read_item(item_id: int, q: str = None):
        return {"item_id": item_id, "q": q}

    或者使用async定义函数:

    from fastapi import FastAPI
    
    app = FastAPI()
    
    
    @app.get("/")
    async def read_root():
        return {"Hello": "World"}
    
    
    @app.get("/items/{item_id}")
    async def read_item(item_id: int, q: str = None):
        return {"item_id": item_id, "q": q}
    View Code

    2、运行

    uvicorn main:app --reload

    输出结果:
    INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
    INFO: Started reloader process [28720]
    INFO: Started server process [28722]
    INFO: Waiting for application startup.
    INFO: Application startup complete.

    关于命令的解释:

    • main: 文件 main.py (Python "模块").
    • app:  main.py 创建的实例 app = FastAPI().
    • --reload: 代码有改动时服务会自动重启(仅适用于开发环境)

    3、接口访问

    在浏览器中访问地址:http://127.0.0.1:8000/items/5?q=somequery

    我们可以看到响应结果:

    {"item_id": 5, "q": "somequery"}

    4、我们实际上实现了具有以下功能的一个API:

    • 接收以下路径的HTTP请求: / 和 /items/{item_id}.
    • 这两个路径都接收GET请求.
    • 路径 /items/{item_id} 具有一个路径参数 item_id 并且类型必须为 int.
    • 路径 /items/{item_id} 具有一个可选的查询参数 q 并且类型必须为 str. 

    四、交互式API文档

    我们访问以下两个地址,可获取自动生成的交互式API文档,并且当代码改动时文档会自动更新。方便我们的开发调试。

    1、http://127.0.0.1:8000/docs (基于 Swagger UI)

    2、http://127.0.0.1:8000/redoc (基于 ReDoc)

  • 相关阅读:
    Druid 使用 Kafka 将数据载入到 Kafka
    Druid 使用 Kafka 数据加载教程——下载和启动 Kafka
    Druid 集群方式部署 —— 启动服务
    Druid 集群方式部署 —— 端口调整
    Druid 集群方式部署 —— 配置调整
    Druid 集群方式部署 —— 配置 Zookeeper 连接
    Druid 集群方式部署 —— 元数据和深度存储
    Druid 集群方式部署 —— 从独立服务器部署上合并到集群的硬件配置
    Druid 集群方式部署 —— 选择硬件
    Druid 独立服务器方式部署文档
  • 原文地址:https://www.cnblogs.com/mazhiyong/p/12808529.html
Copyright © 2011-2022 走看看