文章目录

  • 路径参数获取
  • Get参数获取
  • Post参数获取
  • 完整代码

Fastapi中是用模板来匹配URL:

  • 路径参数获取:获取自定义的构造URL时的参数
  • Get参数获取:获取一个URL后面带的?param1=1&param2=2这种参数
  • Post参数获取:获取Post时的参数,因为Post是加密的,因此更加安全,但有额外开销

路径参数获取

比如:

http://127.0.0.1:5555/name=aa/age=324
http://127.0.0.1:5555/name=bb/age=423
http://127.0.0.1:5555/name=cc/age=2345678

匹配的模板就是:http://127.0.0.1:5555/name=值1/age=值2,对应的写法是:

from fastapi import FastAPI
import uvicornapp = FastAPI()@app.get("/name={n}/age={ag}")
async def server1(n, ag):return {"name": n,"age": ag,}if __name__ == "__main__":uvicorn.run(app, host="127.0.0.1", port=5555)

注意:获取参数的函数中的参数,需要与大括号里({})的参数相同

Get参数获取

访问:http://127.0.0.1:5555/get/?name=aa&age=423后得到结果

from fastapi import FastAPI, Query
import uvicornapp = FastAPI()@app.get("/get/")
async def server2(name=Query(None), age=Query(None)):return {"name": name,"age": age,}if __name__ == "__main__":uvicorn.run(app, host="127.0.0.1", port=5555)

参数里name=Query(None)

  • name对应着传入URL里的?name=xxx

  • Query()是导的包from fastapi import Query

  • Query(None)里的None是默认值,可以是任意值,当URL里没有传入这个参数时,就会用默认值替代

Post参数获取

from fastapi import FastAPI
from fastapi import Body
import uvicornapp = FastAPI()@app.post("/post/")
async def server3(name=Body(None), age=Body(None)):return {"name": name,"age": age,}if __name__ == "__main__":uvicorn.run(app, host="127.0.0.1", port=5555)

Body的写法与用法和Query相同,括号里是默认值

完整代码

# -*- coding:utf-8 -*-from fastapi import FastAPI
from fastapi import Query
from fastapi import Body
import uvicornapp = FastAPI()@app.get("/name={n}/age={ag}")
async def server1(n, ag):  # 路径参数:http://127.0.0.1:5555/name=aa/age=423return {"name": n,"age": ag,}@app.get("/get/")
async def server2(name=Query(None), age=Query(None)):  # get参数:http://127.0.0.1:5555/get/?name=aa&age=423return {"name": name,"age": age,}# post参数:http://127.0.0.1:5555/post/
# post时body里设置:{"name":"aaa","age":123}
@app.post("/post/")
async def server3(name=Body(None), age=Body(None)):return {"name": name,"age": age,}if __name__ == "__main__":uvicorn.run(app, host="127.0.0.1", port=5555)

fastapi学习(二):路径参数获取与GET、POST参数获取相关推荐

  1. halcon学习-二维码识别过程中对参数的选择以及对畸变的处理学习日志及遇到的问题

    写在前面: 本日志内容参考资料如下: 1.set_data_code_2d_param参数的选择 https://blog.csdn.net/cherish_now_forever/article/d ...

  2. torch学习二之nn.Convolution

    torch学习二之nn.Convolution nn.Conv1d 函数参数 输入数据维度转换 关于kernel nn.Conv2D nn.Conv1d 一维卷积通常用于处理文本数据 函数参数 首先看 ...

  3. h5学习笔记:小程序内置扫码获取普通二维码链接参数

    连续加班一个月,已经有点吐血.趁今天空闲继续记录一些笔记.之前做的网站和小程序现在可以记录一些笔记出来总结. 今天做小程序帮助一个客户加了扫码功能.微信小程序提供了这个内置扫码的功能.这个函数简单而且 ...

  4. springmvc学习笔记二:重定向,拦截器,参数绑定

    springmvc学习笔记二:重定向,拦截器,参数绑定 Controller方法返回值 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加mo ...

  5. FastAPI学习-3(路由参数详解)

    1.路径参数 声明路径参数时,可以使用Python格式字符串使用的相同语法声明路径"参数"或"变量" 无参数类型 from fastapi import Fas ...

  6. uni-app微信小程序生成自定义参数二维码,跳转小程序指定页面,获取参数;uni-app微信小程序获取二维码自定义参数;微信小程序生成动态参数二维码;uni-app微信小程序获取动态参数二维码;

    一.场景需求: 在小程序个人名片页面A页面,生成用户的个人名片二维码(该二维码携带用户的唯一标识id):微信扫一扫或长按图片识别这个二维码,可以跳转到小程序的B页面,并且在B页面拿到二维码上的唯一标识 ...

  7. 【theano-windows】学习笔记二——theano中的函数和共享参数

    前言 上一篇博客中学到了theano中的变量类型,也就是dscalar.dvector之类的, 然后还有一个theano.function和eval函数, 将我们所定义的操作转换成theano可执行的 ...

  8. 【FastAPI 学习十二】定时任务篇 (移步博客园或个人网站 无广告,界面清爽整洁)

    声明 目前个人放弃CSDN平台,文章只发布于个人网站和博客园 博客园地址 [FastAPI 学习十二]定时任务篇

  9. CMakeLists学习二、链接库搜索路径与ld

    CMakeLists学习二.链接库搜索路径与ld 前言 gcc的链接 gcc链接命令 ld搜索路径 ldconfig刷新动态库缓存 CMakeLists指定链接搜索路径 后记 前言 本文继续CMake ...

最新文章

  1. Android10.0 Binder通信原理(九)-AIDL Binder示例
  2. 不同的PCB混装方式及加工工艺
  3. RecyclerView控件实现横向滚动和瀑布流布局,以及RecyclerView的点击监听(项目已上传GitHub)
  4. js返回上一页并刷新代码整理
  5. 运行时数据区(Run-Time Data Areas)
  6. 区分Debug版还是Relase版
  7. spring 整合 mybatis 中数据源的几种配置方式
  8. 终极Java日志字典:开发人员最常记录的单词是什么?
  9. 一些简单的链表算法一
  10. postman 使用_Postman使用方法
  11. revit API 实现可停靠窗口
  12. [转]关于SilverLight:你需要知道的十件事情
  13. 高德地图登陆显示服务器忙,用高德地图导航时,登录账号和不登录账号有很大区别?你知道吗?...
  14. 【FACT】函数使用技巧
  15. 【zc1415926】Unity3D的Android移动之路(二) 辅助神器——Unity Remote
  16. 第四次工业革命与龙的故事
  17. ajax技术的实质是什么意思,什么是Ajax?Ajax的原理是什么?Ajax的核心技术是什么?Ajax的优缺点是什么?...
  18. 在微信开发者工具中,使用WeUI前端美化框架,微信小程序
  19. 数学之路(4)-数学基础-幂函数图像与函数平移
  20. Anaconda环境变量配置

热门文章

  1. C++:编译实验之LR分析器
  2. 计算机二级数据模型三要素,2017年计算机二级公共基础知识重点讲解:数据模型...
  3. glob在php中的意思,PHP函数glob介绍
  4. NVIDIA NVLink技术
  5. Tensorflow图像处理以及数据读取
  6. 刷题刷题 ——网易CPP
  7. python学习之老男孩python全栈第九期_数据库day004 -- 作业
  8. 揭秘自编码器,一种捕捉数据最重要特征的神经网络(视频+代码)
  9. 2017华为机试题--Floyd算法
  10. 《网友世界》杂志:2010“最不给力”软件