• 2. 利用 FastAPI 开发一个 GET 请求的接口


    上一篇分享了一个简单的接口demo,这篇分享如何在请求路径中,增加参数。

    一、获取路径参数


    1. 浏览器中看效果,路径中输入 1,接口返回中把 1 的值传回来。

    1. 再输一个值,输入深圳,值返回深圳。

    2. 不输入路径,提示 Not Found。

    二、怎么限定输入的类型?例如只能输入整数。


    输入一个非整数的路径

    value is not a valid integer (值不是有效的整数)

    实现以下功能,输入一个指定的参数,返回一个指定的值。

    所有的数据类型验证,都是通过Pydantic完成。

    # -*- coding:utf-8 -*-
    
    from fastapi import FastAPI  # 导入FastAPI
    import uvicorn               # uvicorn:主要用于加载和提供应用程序的服务器
    from enum import Enum
    
    app = FastAPI()              # 创建一个app实例
    
    class ModelName(str, Enum):
        Tester = '1'
        Shenzhen = '2'
    
    @app.get("/name/{name}")                # 编写一个路径操作装饰器
    def root(name:ModelName):
        if name == ModelName.Tester:
            return "Hello Tester!"
        if name == ModelName.Shenzhen:
            return "Hello Shenzhen!"
    
    
    if __name__ == '__main__':
        uvicorn.run(app='demo001:app', host="127.0.0.1", port=8000, reload=True, debug=True)
    

    看一下结果,路径输入 1 ,返回 Hello Tester!
    输入 2 ,返回 Hello Shenzhen!


    步骤汇总:

    1. 导入FastAPI
    from fastapi import FastAPI
    
    2. 创建FastAPI实例
    app = FastAPI()
    
    3. 创建访问路径
    @app.get("/")
    这个路径告诉FastAPI,该装饰器下的方法是用来处理路径是“/”的GET请求
    
    4. 定义方法,处理请求
    async def root():
    
    5. 返回响应信息
    return {"message": "Hello World"}
    
    6. 运行
    uvicorn main:app --reload
    
  • 相关阅读:
    docker实例之mysql的使用
    使用Dockerfile创建ssh服务的镜像02
    添加ssh服务构建新镜像-docker commit 方式01
    Keepalived
    ubuntu网卡配置
    升级openssl
    源码安装nginx env
    dockerfile
    shell字符截取
    MYSQL导入/迁移后事件不执行
  • 原文地址:https://www.cnblogs.com/wwho/p/15974066.html
Copyright © 2020-2023  润新知