API REST Python + Flask, как преобразовать ключи данных между camelcase и snakecase? - PullRequest
0 голосов
/ 09 июня 2019

Я изучаю Python и пишу простой REST API с использованием микро-фреймворка Flask .

Я использую SQLAlchemy для объектно-реляционного отображения и Marshmallow для сериализации / десериализации объектов.

Я использую snakecase для имен своих переменных (согласно PEP8 ).

Мне нужно преобразовать объект JSONключи от верблюжьего к змеиному при получении данных из внешнего интерфейса (Angular) и наоборот при возврате данных ответа.

Какой лучший способ сделать это с помощью Flask?

Мне не удалось найти хороший ответ в Интернете.

1 Ответ

2 голосов
/ 09 июня 2019

Вы не конвертируете свои ключи, потому что вам это не нужно. Данные не являются кодом, ключи в JSON не являются переменными. Они не подпадают под действие PEP8, и вы их не конвертируете.

Если у вас есть соглашение для ваших ключей объекта JSON, придерживайтесь его везде, в вашей передней и задней части. Затем используйте аргумент Marshmallow 3.x data_key для поля, чтобы задать имя ключа в документе JSON при загрузке и выгрузке.

1008 * Е.Г. *

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

Если вы используете Marshmallow 2.x, тогда нужно задать два аргумента: load_from и dump_to.

...