1.如果返回的是个合法的响应对象,则直接返回
同时,也可以在response里面做一些操作,比如增加cookie
2.如果返回的是一个字符串,那么flask会重新创建一个werkzeug,wrappers,Response对象,Response将该字符串作为主体,状态码为200,MIME的类型为text/html,然后返回该Response对象。
3.如果返回的是一个元组,元组的数据类型是(response, status, headers),status的值会覆盖默认的200状态码,headers可以是一个列表和字典,作为额外的消息头。
4.如果以上条件都不满足,flask会假设返回值是一个合法的WSGI应用程序,并通过Response.force_type(rv, request.environ)转换为一个请求对象
自定义响应:
1、继承flask.Response
2、实现类方法force_type
3、指定返回处理逻辑为自定义的Response