Используя micro-framework flask-restful, возникает проблема с конструкцией RequestParser
, которая будет проверять вложенные ресурсы. Предполагая ожидаемый формат ресурса JSON формы:
{
'a_list': [
{
'obj1': 1,
'obj2': 2,
'obj3': 3
},
{
'obj1': 1,
'obj2': 2,
'obj3': 3
}
]
}
Каждый элемент в a_list
соответствует объекту:
class MyObject(object):
def __init__(self, obj1, obj2, obj3)
self.obj1 = obj1
self.obj2 = obj2
self.obj3 = obj3
... и тогда вы создадите RequestParser, используя форму, вроде:
from flask.ext.restful import reqparse
parser = reqparse.RequestParser()
parser.add_argument('a_list', type=MyObject, action='append')
... но как бы вы проверили вложенный MyObject
каждого словаря внутри a_list
? Или, альтернативно, это неправильный подход?
API, соответствующий этому, обрабатывает каждый MyObject
как, по существу, литерал объекта, и может быть один или несколько из них переданы службе; поэтому для этого обстоятельства сглаживание формата ресурса не будет работать.