【发布时间】:2018-09-13 04:49:53
【问题描述】:
我面临着与here 描述的完全相同的问题。我的 API 有 user_creds 端点。当我访问localhost:5000/user_creds/ 时,我可以看到该集合中的所有文档。但是当我执行localhost:5000/user_creds/someemail@gmail.com 之类的操作时,我总是会收到 404 Not Found 响应。
settings.py 中的user_creds 域如下所示:
'user_creds': {
'schema': {
'email': {
'type': 'string',
'regex': r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)",
'required': True,
'unique': True,
},
'password': {
'type': 'string',
'required': True
},
}
'resource_methods': ['GET', 'POST'],
'item_methods': ['GET', 'PATCH', 'PUT'],
'additional_lookup': {
'url': 'regex("^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$")',
'field': 'email'
}
}
我正在按照here 给出的示例进行操作,但无法弄清楚我哪里出错了。此外,如果我访问此 URL:http://127.0.0.1:5000/user_creds?email==%22abcd12@gmail.com%22,我会获取集合中的所有文档,而不是仅获取与电子邮件正则表达式匹配的单个文档。如果我访问这个http://127.0.0.1:5000/user_creds?where=email==%22abcd12@gmail.com%22,我会得到想要的响应。
【问题讨论】:
-
对不起,如果这有点晚了,但我只是在学习 Eve。也许这会有所帮助。我认为如果你从你的正则表达式定义中删除“^”,你可能会得到你正在寻找的结果。