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)

执行结果:

相关推荐
Source.Liu1 天前
【IT工具】Ubuntu 环境下使用 Flask
linux·ubuntu·flask
小二·1 天前
Python Web 开发进阶实战:边缘智能网关 —— 在 Flask + MicroPython 中构建轻量级 IoT 边缘推理平台
前端·python·flask
速易达网络1 天前
Flask实现Neo4j知识图谱Web应用
flask·知识图谱·neo4j
Leinwin1 天前
Azure 存储重磅发布系列创新 以 AI 与云原生能力解锁数据未来
后端·python·flask
世界尽头与你1 天前
Flask开启Debug模式
后端·网络安全·渗透测试·flask
飞Link1 天前
后端架构选型:Django、Flask 与 Spring Boot 的三剑客之争
spring boot·python·django·flask
愈努力俞幸运2 天前
flask 入门 token, headers,cookie
后端·python·flask
张心独酌2 天前
学习Rust:实现RESTful 任务管理 API(Todo API)
学习·rust·restful
fantasy5_52 天前
深入理解 Linux 动静态库:制作、原理与加载机制
linux·运维·restful
czliutz2 天前
Windows系统创建启动Flask虚拟环境
windows·python·flask