【发布时间】:2015-12-04 01:23:21
【问题描述】:
我的架构中的 list 类型有问题。每当我尝试 POST 时,都会收到 422 响应,说明“必须是列表类型”。下面是一个产生此问题的简单示例。
from eve import Eve
people = {
'schema': {
'tests': {
'type': 'list',
'schema': {
'type': 'string'
},
'required': True,
}
},
'resource_methods': ['GET', 'POST'],
}
settings = {
'DOMAIN': {
'people': people
}
}
app = Eve(settings=settings)
if __name__ == '__main__':
app.run()
然后,当您使用以下内容发布到人员端点时:
import requests
url = "http://localhost:5000/people"
person = {
"tests": ['a', 'b'],
}
r = requests.post(url, data=person)
print(r.json())
您收到 422 响应。当我调试它时,看起来 Eve 应用程序接收到的 tests 参数只是一个字符串 'a',而不是整个列表。从我在 GitHub 上的 Eve 测试中可以看出,这似乎是发出请求的正确方式,所以我只能假设我在设置资源/模式时犯了错误?
谢谢。
【问题讨论】: