Python + Flask REST API,如何在驼峰和蛇形之间转换数据密钥?

时间:2019-06-09 13:50:03

标签: python flask camelcasing snakecasing

我正在学习Python,并使用Flask微框架对简单的REST API进行编码。

我正在将SQLAlchemy用于对象关系映射,并将Marshmallow用于对象序列化/反序列化。

我正在使用snakecase作为变量名(根据PEP8)。

当从前端(角度)接收数据时,当返回响应数据时,我需要将JSON对象键从驼峰式转换为蛇形,反之亦然。

使用Flask的最佳方法是什么?

我在互联网上找不到很好的答案。

1 个答案:

答案 0 :(得分:2)

您不需要转换密钥,因为不需要。数据不是代码,JSON中的键不是变量。它们不受PEP8的约束,您也无需转换。

如果您对JSON对象键有约定,请在前端和后端的任何地方坚持使用。然后,在字段中使用棉花糖3.x data_key参数在加载和转储时在JSON文档中设置密钥名称。

例如

class UserSchema(Schema):
    first_name = fields.String(data_key="firstName")
    last_name = fields.Email(data_key='lastName')

如果您使用的是棉花糖2.x,则需要设置两个参数:load_fromdump_to