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
posted @ 2022-03-06 23:03  西瓜_皮  阅读(501)  评论(0编辑  收藏  举报