当前位置: 首页 > article >正文

FaskAPI Web学习

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}'}

目前专注于NLP、大模型和前后端的技术学习和分享

感谢大家的关注与支持!

http://www.kler.cn/a/301109.html

相关文章:

  • C++ 异步读本地文件,不堵塞主线程
  • 运维面试题.云计算面试题之三ELK
  • 【WPF】Prism学习(八)
  • 反向代理模块
  • 【动手学深度学习Pytorch】6. LeNet实现代码
  • 【Redis】使用redis实现登录校验功能
  • 动态规划算法之斐波那契数列详细解读(附带Java代码解读)
  • 陈坤2024行走的力量 走向山野感受距离自然更近的地方
  • 9月→2024年计算机与信息安全国际会议
  • 如何读.Net Framework 的源码?
  • 观众登记2025中国(深圳)国际智能手机供应链展览会
  • 数据分析与挖掘课程相关资源
  • 使用 Python 读取 Excel 数据的详细教程
  • 【C++】关键字、命名空间、输入和输出、缺省参数的深入了解
  • Flutter 使用第三方包加载3d模型
  • SpringTest框架JUnit单元测试用例获取ApplicationContext实例的方法
  • 【数据结构-一维差分】力扣1854. 人口最多的年份
  • 陪玩小程序源码搭建,基于PHP+MySQL陪玩系统app源码
  • 解码未来:H.265与H.266技术对比及EasyCVR视频汇聚平台编码技术优势
  • 工具篇之Apache Commons
  • LeetCode HOT100系列题解之数组中的第K个最大元素(7/100)
  • 【Python系列】理解 Python 中的时间和日期处理
  • 汽车智能座舱展︱2025 广州国际汽车智能座舱及车载显示技术展览会
  • python绘制3D瀑布图
  • springboot体会BIO(阻塞式IO)
  • C++——static应用全解