烧瓶组织棉花糖模式

问题描述 投票:0回答:1

我正在Flask framework中开发API,并且越来越大。目前,我有数十个sqlalchemy模型,甚至还有更多Marshmallow CRUD模式。

主要是使用架构,情况有些混乱且难以维护,因此我对在较大的Flask应用中组织整体结构的最佳方法以及在具有以下条件的端点中更好地维护序列化方法有疑问:

  • 嵌套json响应
/v0/user/all

{ 
   "data":{ 
      "id":1,
      "name":"foo",
      "phone":"927487286",
      "courses":[ 
         { 
            "id":12,
            "name":"Math",
            "place":{ 
               "id":1,
               "location":"Foo Street"
            }
         }
      ]
   }
}
  • 可以使用在不同端点使用但具有不同字段的模式
/v0/courses/{id}

{ 
   "data":{ 
      "id":12,
      "name":"Math",
      "place":{ 
         "location":"Foo Street"
      }
   }
}

[我当时正在考虑在模型中实现方法to_dict,但是当嵌套到另一个序列化程序中时,也很难维护它们。

有什么建议吗?

我正在Flask框架中开发API,并且越来越大。目前,我有数十种sqlalchemy模型,甚至更多的棉花糖CRUD模式。事情有点混乱并且难以维护,...

python flask serialization sqlalchemy marshmallow
1个回答
0
投票

棉花糖的目的是通过将视图职责委托给模式来避免对象中的to_dict方法。参见史蒂文·洛里亚(棉花糖作者)的this presentation

© www.soinside.com 2019 - 2024. All rights reserved.