最近用 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 常见属性
更多文章请关注公众号:python时间到
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!