Flask之Request请求

Flask之Request请求,第1张

请求url: http://127.0.0.1:5000/hello?name=bob

flask为了将请求的URL匹配到对应视图函数,flask中存储了一个路由表(app.url_map)其中定义了URL规则和视图函数的映射。

如果找到了对应的视图函数,将展示。否则显示404。

可以通过flask routes来展示app.url_map表中解析到的数据

从这里我们可以看到每个路由或者说是接口对应的方法,参数等信息

在flask中,我们可以通过在@app.route()装饰器后设置http请求的方法,类似springboot中的requestMapping

如果请求的方法的方式和设置的不符合,将提示405(Method Not Allowed)

因为flask默认请求的URL为字符串,所以Flask内置了URL变量转换器

<int>限制了year必须是一个整数

<any>限定了必须在url上填入你选中的值

其实个人比较难理解什么是钩子,书上是认为请求的预处理和后处理被认为是一个钩子。

PS:after_request和after_this_request钩子必须接受一个响应对象作为参数,并且返回一个响应对象。

request参数,顾名思义就是请求参数,request对象中保存了一次HTTP请求的一切信息。

request常用属性如下:

当flask遇到不能处理的mimetype时,请求的数据就不能被其它方式正常解析,这些方式包括

用postman测试,传入表单数据类型时header为application/x-www-form-urlencoded,传入name和age值

输出为

如果minitype为:

等合适方法去除要获取的值进行处理

输出

获取get请求参数

前端提交的文件,需要使用这个属性获取,暂时用的方法

获取到的是一个文件对象。

首先使用这两个方法的前提是post或者put请求

两者的区别在于处理不同mimetype类型的数据,返回值也不同。

minitype为application/x-www-form-urlencoded或者multipart/form-data的时候,也就是我们

所谓表单提交,访问request.form会返回一个包含解析过的的表单对象的 MultiDict,而request.data是空的。

flask遇到不能处理的mimetype时,请求的数据就不能被其它方式正常解析,这些方式包括request.form、request.json和

request.files这几个常用的用来访问数据的属性。这时就把数据作为字符串存在request.data中。

这里注意一下request.json需要application/json的mimetype类型。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9877610.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存