flask_restplus'marshal_with返回null值的响应

时间:2018-02-09 14:39:20

标签: flask null marshalling api-design flask-restplus

我正在使用flask_restplus创建一个记录的API。 marshal decorator控制实际在您的响应中呈现的数据,但我无法呈现数据。我有以下代码:

kpis_model = api.model('kpis', {
    'cpl_actual': fields.Integer(description='costo por lead total del mes actual'),
    'cpl_anterior': fields.Integer(description='costo por lead total del mes anterior'),
    'cpl_diferencia': fields.Integer(description='diferencia de cpl_actual y cpl_anterior')
})

@data.route('/kpis/<cliente>/<mes>/<ano>')
@data.doc(params={'cliente': 'id de Facebook del cliente','mes':'el mes que se desea usar (dos digitos)','ano':'el ano que se desea usar (cuatro digitos)'})
class Kpis(Resource):
    @data.marshal_with(kpis_model)
    def get(self,cliente,mes,ano):
        '''sacar KPIs principales'''
        data = {}
        data['cpl_actual'] = 300
        data['cpl_anterior'] = 100
        data['cpl_diferencia'] = data['cpl_actual'] - data['cpl_anterior']
        return jsonify(data)

然后当我去路线/ kpis / cliente / mes / ano时,它会返回:

{
   "cpl_diferencia": null,
   "cpl_anterior": null,
   "cpl_actual": null
}

为什么返回的值为null?请有人帮帮我!

1 个答案:

答案 0 :(得分:1)

使用“ marshal_with”时,您无需进行json

只返回“数据”

return data

=)