我正在使用Eve RESTful API框架
我试图在几周后做一件简单的事情,但我没有管理。 我只想要一个地方列表和一个评论列表,如我在settings.py中所描述的那样:
settings.py:
comments_schema = {
'spot_id': {
'type': 'string',
'required': True
},
'description': {
'required': True,
'type': 'string',
'empty': False,
'maxlength': 250
}
}
comments = {
'url': 'spots/<regex("[a-f0-9]{24}"):place_id>/comments',
'item_title': 'comment',
'resource_methods': ['GET', 'POST', 'DELETE'],
'schema': comments_schema
}
places_schema = {
'name': {
'required': True,
'type': 'string',
'empty': False,
'maxlength': 60
},
'description': {
'required': True,
'type': 'string',
'empty': False,
'maxlength': 250
},
'commentaries': {
'type': 'objectid',
'data_relation': {
'resource': 'comments',
'field': '_id',
'embeddable': True
}
}
}
places = {
'item_title': 'place',
'resource_methods': ['GET', 'POST', 'DELETE'],
'item_methods': ['GET', 'PUT', 'PATCH', 'DELETE'],
'schema': places_schema
}
DOMAIN = {
'places': places,
'comments': comments
}
我可以POST地方,我可以发表评论,但是当我获取地点时,我没有嵌套的评论。当我获得评论时,它是一个返回的空列表。
我检查了我的Mongo评论集,我正确地看到了我的评论。这意味着它们已正确插入,但未正确检索。
我知道我有点混淆Sub resources和Embedded resource serialization。如果我没有错,那么子资源允许您将资源作为子资源进行管理(我的意思是,使用诸如POST的注释之类的URL)和嵌入资源序列化允许您将每个链接的注释嵌套在的地方。
但是,请帮助我理解为什么我不能简单地创建地点,创建评论,然后使用嵌套评论获取我所有的地方。
谢谢,
MC