给定一个带有Content-Type: application/json
和["foo", "bar"]
主体的POST请求,如何使用Cornice在金字塔中创建Colander模式来反序列化它。
这就是我想出来的:
class SimpleList(colander.SequenceSchema):
items = colander.SchemaNode(colander.String())
它在香草夹竹桃的果酱里效果很好。但是,当我在飞檐上使用它时:
@simple_list_service.post(schema=SimpleList)
def simple_list_post(request):
print(request.validated)
我明白了:
{"errors": [{"name": "items", "description": "items is missing", "location": "body"}], "status": "error"}
有什么建议吗?
谢谢!
最佳答案
当前版本的cornice只允许colander.MappingSchema
进行模式验证。其他任何事情都会引发异常(显然,当你走得更远时,你在进行更改之前就已经这样做了)。
因此,除非情况发生变化,否则无法将列表验证为输入。
关于python - 使用Cornice在 Pyramid 中用滤锅反序列化顶层列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22310247/