gpt4 book ai didi

python - 使用 Cornice 在 Pyramid 中使用 Colander 反序列化顶级列表

转载 作者:行者123 更新时间:2023-11-28 19:22:18 25 4
gpt4 key购买 nike

给定一个带有 Content-Type: application/json 的 POST 请求和一个 ["foo", "bar"] 的主体,我如何在Pyramid 使用 Cornice 对此进行反序列化。

这是我想出的:

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

它在 CLI 中与 vanilla Colander 一起工作得很好。但是,当我像这样在 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"}

有什么建议吗?

谢谢!

最佳答案

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

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

关于python - 使用 Cornice 在 Pyramid 中使用 Colander 反序列化顶级列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22310247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com