FaskAPI Web学习
个人笔记使用,感谢阅读!
# -*- ecoding: utf-8 -*-
# @Author: SuperLong
# @Email: miu_zxl@163.com
# @Time: 2024/9/7 11:37
from enum import Enum
from typing import Optional
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get('/user')
async def hello_world(page_index:int,page_size:Optional[int]=12):
return {'message':f'page_index:{page_index} page_size:{page_size}'}
@app.get('/user/{user_id}/friends')
async def get_user_friends(user_id:int,page_id:int,page_size:Optional[int]=16):
return {'message':f'user_id:{user_id} page_id:{page_id} page_size:{page_size}'}
if __name__ == '__main__':
uvicorn.run("01-hello_world:app",reload=True)
# todo 启用方式
# 方式1:指令启动
# uvicorn main:app --reload
# 方式2:代码启动
# import uvicorn
# uvicorn.run("main:app",reload=True)
# todo 传入路径参数
# 路由顺序:小范围->大范围
# @app.get('/user/{user_id}')
# async def hello_world(user_id:int):
# return {'message':f'hello world!:{user_id}'}
# todo 传入可选参数
# from enum import Enum
# class Person(str,Enum):
# man = "man"
# woman = "woman"
# @app.get('/person/{gender}')
# async def hello_person(gender:Person):
# return {'message':f'this is a {gender.value}'}
# todo 查询参数
# @app.get('/user')
# async def hello_world(page_index:int,page_size:int):
# return {'message':f'page_index:{page_index} page_size:{page_size}'}
# 在前端只需要按条件输入 http://127.0.0.1:8000/user?page_index=1&page_size=45 即可
# 也可默认参数
# from typing import Optional
# @app.get('/user')
# async def hello_world(page_index:int,page_size:Optional[int]=12):
# return {'message':f'page_index:{page_index} page_size:{page_size}'}
# todo 同时传入路径和查询参数
# 在前端输入:http://127.0.0.1:8000/user/12/friends?page_id=45&page_size=16
# @app.get('/user/{user_id}/friends')
# async def get_user_friends(user_id:int,page_id:int,page_size:Optional[int]=16):
# return {'message':f'user_id:{user_id} page_id:{page_id} page_size:{page_size}'}