最近用 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 常见属性

最新文章

  1. svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“ 的解决方法
  2. UNITY更新到5后设置的动画无法播放了怎么办
  3. MyEclipse 8.5汉化教程
  4. QQ空间HD(1)-UIPopoverController基本使用
  5. Android中Webview使用自定义的javascript进行回调
  6. Harris角点
  7. TYVJ P1069 cowtour 看不懂题意
  8. [实变函数]5.6 Lebesgue 积分的几何意义 $\bullet$ Fubini 定理
  9. OpenCV安装要点
  10. synchronized 用法,实例讲解
  11. 当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand问题解决
  12. Windown安装Mysql安装图解
  13. 自己写shell命令pwd
  14. Win7+QTP10.0+IE9无法识别对象的解决方法
  15. JSP include HTML出现乱码 问题解决
  16. Nginx配置文件中文详解
  17. SVN冲突解决
  18. parted分区详解 查看UUID两种方式 blkid 和 ls -l /dev/disk/by-uuid
  19. sqlite+ef+powertools
  20. elasticsearch安装IK分词插件

热门文章

  1. 4.1:简单python爬虫
  2. 【每日一题】【归并排序/堆排序&虚拟头结点】148. 排序链表-211220/220217【出栈时不断容易产生环状链表!】
  3. 【实时数仓】Day00:数据流程、课程内容、框架结构、知识点总结
  4. 在windows上构建OpenCascade
  5. C++进阶(智能指针)
  6. JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来3 —— 本地缓存变身分布式集群缓存,打破本地缓存天花板
  7. Java基础篇——常用类
  8. 【Machine Teaching】An Overview of Machine Teaching
  9. 使用“宝塔一键迁移”工具,将typecho博客迁移到京东云cvm云主机
  10. 用溪流 WarKey 辅助红警开局快捷操作