zoukankan      html  css  js  c++  java
  • FlaskRESTful之响应处理

    将模型数据序列化成JSON数据

    使用步骤

    1. 导包

    # 导包
    from flask_restful import Api, Resource
    from flask_restful import marshal_with, fields
    from flask_restful import marshal

    2. 创建JSON数据样式(序列化样式)

    # 定义JSON数据格式
    json_data = {
        'name': fields.String,
        'age': fields.Integer
    }

    3. 使用装饰器(方法)序列化数据

    可以使用两种方式来进行序列化操作:

    1. 使用装饰器方式

    2. 使用方法

    class IndexResouce(Resource):
        # data:要序列化的JSON样式
        # envelope:用来包裹数据的key
        # @marshal_with(json_data, envelope='data')
        def get(self):
    
            u = User(name='laowang', age='23')
    
            # 第二种方式序列化数据
            # 第一个参数:模型数据
            # 第二个参数:JSON样式
            # 第三个参数:包裹数据的KEY
            return marshal(u, json_data, envelope='data')

    案例代码

    from flask import Flask
    # 导包
    from flask_restful import Api, Resource
    from flask_restful import marshal_with, fields
    from flask_restful import marshal
    
    app = Flask(__name__)
    
    api = Api(app)
    
    # 定义对象类
    class User(object):
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
    # 定义JSON数据格式
    json_data = {
        'name': fields.String,
        'age': fields.Integer
    }
    
    
    class IndexResouce(Resource):
        # data:要序列化的JSON样式
        # envelope:用来包裹数据的key
        # @marshal_with(json_data, envelope='data')
        def get(self):
    
            u = User(name='laowang', age='23')
    
            # 第二种方式序列化数据
            # 第一个参数:模型数据
            # 第二个参数:JSON样式
            # 第三个参数:包裹数据的KEY
            return marshal(u, json_data, envelope='data')
    
    api.add_resource(IndexResouce, '/')
    
    if __name__ == '__main__':
        app.run()
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    【转】kafka&zookeeper集群搭建指南
    spark-streaming问题集锦
    Rokid开发者社区skill之【历史上的今天】
    jQuery+Ajax获取百度百科历史上的今天
    python+xpath+requests爬取维基百科历史上的今天
    jQuery请求维基百科[历史上的今天]
    Redis和Memcached比较
    [转]RosBridge小结
    [转]使用rosbridge协议实现安卓跟ros的解耦
    跨域访问之jsonp
  • 原文地址:https://www.cnblogs.com/chao666/p/12403966.html
Copyright © 2011-2022 走看看