大家好,又见面了,我是你们的朋友全栈君。
示例代码
# -*- coding: utf-8 -*-
# @Time : 2020/9/17 11:46 下午
# @Author : renwoxing
# @File : flask_restful_demo.py
# @Software: PyCharm
from flask import Flask, jsonify, abort, request
app = Flask(__name__)
books = [
{
'id': 1,
'name': u'大学',
'author': '张三',
'price': 98
},
{
'id': 2,
'name': u'骆驼祥子',
'author': '老舍',
'price': 98
}
]
@app.route("/bookstore/api/v1/books", methods=['GET'])
def get_books():
return jsonify({'books': books})
if __name__ == '__main__':
app.run(host="0.0.0.0", port="8000", debug=True)
上面中jsonify,有什么作用,都做了什么?好奇害死猫,就得花时间研究下!!!
- 根据函数说明:该函数在dumps函数上做了封装,变得更易用;
- 实际调用过程:
jsonify调用下面的函数:
current_app.response_class(
dumps(data, indent=indent, separators=separators) + "\n",
mimetype=current_app.config["JSONIFY_MIMETYPE"],
)
上面的dumps实际上是调用了itsdangerous 库json.dumps函数而已:
from itsdangerous import json as _json
_dump_arg_defaults(kwargs, app=app)
encoding = kwargs.pop("encoding", None)
rv = _json.dumps(obj, **kwargs)
if encoding is not None and isinstance(rv, text_type):
rv = rv.encode(encoding)
return rv
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142409.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...