python flask后端request获取参数的几种方式整理
最近用 flask 写后端,将获取访问参数的几种方式总结整理一下,仅供参考
从 postman 上来看,调用后端接口传参的方式有两种,一种是 params,参数是以?a=x&b=y 的形式显示在 url 中访问的。还有一种是 body,参数以请求体的形式访问后端,不会直接显示出来。在用这两种传参方式访问后端,后端接收参数的常见的三种方式分别是
r1 = request.form.get('key')
r2 = request.args.get('key')
r3 = request.values.get('key')
当参数以 params 形式传递时,后端只能通过 request.args.get('key') 和 request.values.get('key') 来接收参数,通过 request.form.get('key') 是无法接收参数的,
如下图
当参数以 body 中 form-data 或x-www-form-urlendoded形式传递时,后端只能通过 request.values.get('key') 和 request.form.get('key') 来接收参数,通过 request.args.get('key') 是无法接收参数的,
如下图
通过以上可知,以 params 形式或 body(form-data、x-www-form-urlendoded)形式传参,均可以 request.values 获取参数。
若通过 form-data 上传文件时,则需通过 request.files.get('key_file') 来获取文件,如下图
若以 body 中的 raw(json)形式传参,则需要通过 get_json() 或 get_data() 方法获取参数,以 get_data() 获得的参数需要再次转成 json,所以推荐直接使用 get_json(),如下图
PS:request 还有很多其他属性,可以获取不同的值,如 headers,cookies,method 等,下图附上 request 常见属性
最新文章
- svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“ 的解决方法
- UNITY更新到5后设置的动画无法播放了怎么办
- MyEclipse 8.5汉化教程
- QQ空间HD(1)-UIPopoverController基本使用
- Android中Webview使用自定义的javascript进行回调
- Harris角点
- TYVJ P1069 cowtour 看不懂题意
- [实变函数]5.6 Lebesgue 积分的几何意义 $\bullet$ Fubini 定理
- OpenCV安装要点
- synchronized 用法,实例讲解
- 当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand问题解决
- Windown安装Mysql安装图解
- 自己写shell命令pwd
- Win7+QTP10.0+IE9无法识别对象的解决方法
- JSP include HTML出现乱码 问题解决
- Nginx配置文件中文详解
- SVN冲突解决
- parted分区详解 查看UUID两种方式 blkid 和 ls -l /dev/disk/by-uuid
- sqlite+ef+powertools
- elasticsearch安装IK分词插件
热门文章
- 4.1:简单python爬虫
- 【每日一题】【归并排序/堆排序&;虚拟头结点】148. 排序链表-211220/220217【出栈时不断容易产生环状链表!】
- 【实时数仓】Day00:数据流程、课程内容、框架结构、知识点总结
- 在windows上构建OpenCascade
- C++进阶(智能指针)
- JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来3 —— 本地缓存变身分布式集群缓存,打破本地缓存天花板
- Java基础篇——常用类
- 【Machine Teaching】An Overview of Machine Teaching
- 使用“宝塔一键迁移”工具,将typecho博客迁移到京东云cvm云主机
- 用溪流 WarKey 辅助红警开局快捷操作