3

给定一个 POST 请求,Content-Type: application/json以及["foo", "bar"]如何使用 Cornice 在 Pyramid 中创建滤锅模式来反序列化它。

这就是我想出的:

class SimpleList(colander.SequenceSchema):
    items = colander.SchemaNode(colander.String())

它在带有香草滤锅的 CLI 中运行良好。但是,当我像这样在 Cornice 服务上使用它时:

@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"}

有什么建议么?

谢谢!

4

1 回答 1

0

当前版本的檐口仅允许colander.MappingSchema模式验证。其他任何事情都会引发异常(显然,您在进行更改之前就已经这样做了)。

因此,除非情况发生变化,否则您无法将列表验证为输入。

于 2015-07-03T18:23:12.000 回答