
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类型。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)