flask_restful规范返回值之参数设置

设置重命名属性和默认值
使用 attribute 配置这种映射 , 比如: fields.String(attribute='username')
使用 default 指定默认值,比如: fields.String(default='sxt')

from flask import Flask,render_template
from flask_restful import Api,Resource,fields,marshal_with

app = Flask(__name__)
api =Api(app)

class News:
    def __init__(self,code,msg,info):
        self.code = code
        self.msg = msg
        self.info = info
        self.state= 1000

class NewsView(Resource):
    resouce_fileds = {
        # 通过参数default来设置默认值
        'code':fields.Integer(default=200),
        'msg':fields.String,
        # 通过参数attribute来设置提取数据的字段
        'content':fields.String(attribute='info'),
        # 优先级不如真实数据里面的高
        'state':fields.Integer(default=2000)
         }
    @marshal_with(resouce_fileds)
    def get(self):
        return News(200,'访问成功!','移动')
    
    @marshal_with(resouce_fileds)
    def post(self):
        return {'msg':'增加数据成功','info':'联通'}
    
    @marshal_with(resouce_fileds)
    def put(self):
        # 在返回对象时,会自动在对象中获取与约定好的字段,并获取分装成json
        news = News(404,'访问成功','移动')
        return news

api.add_resource(NewsView,'/news/')

if __name__=="__main__":
    app.run(debug=True)

执行结果:

相关推荐
Elastic 中国社区官方博客18 分钟前
Observability:将 OpenTelemetry 添加到你的 Flask 应用程序
大数据·后端·python·elasticsearch·搜索引擎·flask·全文检索
伊织code3 小时前
[报错] Dify - 踩坑笔记
flask·api·报错·踩坑·dify·poetry·opendal
我的运维人生12 小时前
云计算技术深度解析与代码实践
python·flask·云计算·运维开发·技术共享
飞行codes1 天前
FLASK创建下载
前端·python·flask
飞行codes1 天前
FLASK 上传文件
python·flask
{⌐■_■}1 天前
【gin】http方法了解,以及RESTful API与版本控制
http·restful·gin
hnmpf2 天前
flask_sqlalchemy relationship 子表排序
后端·python·flask
在线打码3 天前
针对数据库系统安全的漏洞扫描加固工具【WebSocket + MySQL】
数据库·python·websocket·mysql·安全·flask
扁舟·TF3 天前
Flask-SQLAlchemy 基于一个base表 - 动态创建使用相同字段的其他业务表
后端·python·flask
在线打码4 天前
网络攻击行为可视化分析系统【数据分析 + 可视化】
javascript·数据挖掘·数据分析·flask·数据可视化