- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我面临与描述完全相同的问题 here .我的 API 有 user_creds
端点。当我访问 localhost:5000/user_creds/
时,我可以看到该集合中的所有文档。但是当我执行类似 localhost:5000/user_creds/someemail@gmail.com
的操作时,我总是会收到 404 Not Found 响应。
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
,我会得到所需的响应。
最佳答案
@Vorticity 有正确的解决方法。只需删除 additional_lookup 正则表达式中的前导“^”,如下所示:
'additional_lookup': {
'url': 'regex("[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$")',
'field': 'email'
}
无论是否使用 url 编码,您都应该能够检索您的项目,例如:
localhost:5000/user_creds/someemail@gmail.com
localhost:5000/user_creds/someemail%40gmail.com
如果您有兴趣通过电子邮件仅(不是对象 ID)在项目级别检索您的项目,您可以使用 item_lookup_field连同 item_url :
'user_creds': {
...
'item_url': 'regex("[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$")',
'item_lookup_field': 'email'
}
关于Python Eve - REST API additional_lookup 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52306826/
我面临与描述完全相同的问题 here .我的 API 有 user_creds 端点。当我访问 localhost:5000/user_creds/ 时,我可以看到该集合中的所有文档。但是当我执行类似
我是一名优秀的程序员,十分优秀!