2. 利用 FastAPI 开发一个 GET 请求的接口
上一篇分享了一个简单的接口demo,这篇分享如何在请求路径中,增加参数。
一、获取路径参数
- 浏览器中看效果,路径中输入 1,接口返回中把 1 的值传回来。
-
再输一个值,输入深圳,值返回深圳。
-
不输入路径,提示 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