FaskAPI Web学习

news/2025/1/15 12:26:15/

FaskAPI Web学习

个人笔记使用,感谢阅读!


python"># -*- ecoding: utf-8 -*-
# @Author: SuperLong
# @Email: miu_zxl@163.com
# @Time: 2024/9/7 11:37
from enum import Enum
from typing import Optionalfrom 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.ppmy.cn/news/1522466.html

相关文章

log4j 多classloader重复加载配置问题解决

最近OneCoder在开发隔离任务运行的沙箱,用于隔离用户不同任务间以及任务和 框架本身运行代码的隔离和解决潜在的jar包冲突问题。 运行发现,隔离的任务正常运行,但是却没有任何日志记录。从控制台可看到如下错误信息: 全文详见个人…

从零开始学习JVM(七)- StringTable字符串常量池

1 概述 String应该是Java使用最多的类吧,很少有Java程序没有使用到String的。在Java中创建对象是一件挺耗费性能的事,而且我们又经常使用相同的String对象,那么创建这些相同的对象不是白白浪费性能吗。所以就有了StringTable这一特殊的存在&…

Spark2.x 入门:逻辑回归分类器

方法简介 逻辑斯蒂回归(logistic regression)是统计学习中的经典分类方法,属于对数线性模型。logistic回归的因变量可以是二分类的,也可以是多分类的。 示例代码 我们以iris数据集(iris)为例进行分析。i…

Spring AOP的注解式开发实现

目录 AOP常用注解注解开发实现步骤1. 导入Maven项目依赖2. 准备一个实体类(先定义接口再实现)3. 定义切面类4. 准备配置文件5. 编写测试类 注意事项 AOP的配置开发方式见:Spring入门之AOP(包含实例代码)。其他纯注解开…

记忆化搜索【下】

375. 猜数字大小II 题目分析 题目链接:375. 猜数字大小 II - 力扣(LeetCode) 题目比较长,大致意思就是给一个数,比如说10,定的数字是7,让我们在[1, 10]这个区间猜。 如果猜大或猜小都会说明…

Spring Boot之DevTools介绍

Spring Boot DevTools 是 Spring Boot 提供的一组易于使用的工具,旨在加速开发和测试过程。它通过提供一系列实用的功能,如自动重启、实时属性更新、依赖项的热替换等,极大地提高了开发者的开发效率。本文将详细介绍 Spring Boot DevTools 的…

RLVF:避免过度泛化地从口头反馈中学习

人工智能咨询培训老师叶梓 转载标明出处 大模型在不同行业和个人中的广泛应用要求模型能够根据具体的用户反馈进行调整或定制,以满足细微的要求和偏好。虽然通过高层次的口头反馈来指定模型调整非常方便,例如“在给老板起草电子邮件时不要使用表情符号”…

【A题第二套完整论文已出】2024数模国赛A题第二套完整论文+可运行代码参考(无偿分享)

“板凳龙” 闹元宵路径速度问题 摘要 本文针对传统舞龙进行了轨迹分析,并针对一系列问题提出了解决方案,将这一运动进行了模型可视化。 针对问题一,我们首先对舞龙的螺线轨迹进行了建模,将直角坐标系转换为极坐标系&#xff0…