问题标签 [eve]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
436 浏览

python - python-eve 在 POST 操作中删除查找参数的原因是什么?

我想在 POST 和其他修改方法中使用查询参数。这可能适用于常规查询参数或通过带有变量的 url 规则提取的参数。但我注意到 Eve 专门为 POST 调用删除了这些参数。我可以轻松地进行必要的更改以保留它们,但由于它们是故意丢弃的,我想知道让它们存在是否有一些缺点。这个设计决定的原因是什么?

示例用例

也许有一个问题,为什么有人想要使用这样的查询参数。我想到的 API 在 POST 和 DELETE 调用中使用查询参数。为什么这可能很方便的一个例子是允许用户修改调用的验证和实际行为。举一个有点做作的例子:

另一个例子:

另一个例子:

已编辑

我尝试使用 request.args 来获取变量规则,但它似乎不起作用。(可以通过这种方式获取查询参数,但我希望变量规则也能正常工作。)

当代码进入我的 on_pre_POST 钩子时,request.args 是空的。如果我走上堆栈,我会看到 inendpoints.collection_endpoint()函数lookup确实包含{'row':1}但它没有传递到post(response)调用中。如果有意义的话,我可以提交一个拉取请求来解决这个问题。

已编辑 2

我发现这些参数request.view_argsrequest.args. 这意味着这两种参数都可以在 flask/eve 中的任何地方访问,而无需更改代码。

0 投票
1 回答
142 浏览

python-3.x - 将使用不同名称和架构的两个端点与 Eve 合并

这是我的 settings.py 的简化版本:

在使用对端点的 POST 请求创建用户后/accounts,可以使用 GET to 检索用户的信息/accounts/<id_of_user>
我想知道是否可以“合并”两个使用不同架构的端点,所以

将指向

但 update_accounts 必须有,例如,这个模式:

0 投票
1 回答
91 浏览

python-3.x - python eve优雅地退出回调

我想知道是否可以在不完全处理 PATCH 请求的情况下更新项目。
我要做的是在用户向帐户/端点发送 PATCH 请求时随机生成并在数据库中插入一个值。
如果我不退出 PATCH 请求,我会收到一个错误,因为它需要一个值,但我不能提前给出它,因为它是随机生成的。

我能做些什么?

0 投票
1 回答
1715 浏览

python - 如何在 Python Eve 中更新列表 data_relation

我有一个模型“用户”和它的模式,其中包括与用户的一对多关系:

我正在尝试更新关注者列表。我尝试使用 'followers' 键和 objectid 列表向/users/545c7dccb505970bbf0e5ad1端点发送 PATCH 请求,但它不起作用。还尝试向/users/545c7dccb505970bbf0e5ad1/followers/发送 PUT 请求,但没有运气。

那么如何使用 Python Eve REST API 将对象添加到此列表中?

0 投票
1 回答
345 浏览

python - 使用 python-eve 的多态类型

我想要一个针对多个模式进行验证的端点。我已经阅读了文档和 Eve 的一些代码,但我并不清楚这是可能的。这是我希望能够做的一个简单示例:

Eve/Cerberus 是否支持这样的多态类型?如果没有,是否可以插入支持此功能的 JSON Schema 之类的东西,同时保持data_relation提供的引用完整性?

0 投票
2 回答
896 浏览

python - 在 Eve 中,如何安全地存储用户密码?

如果你在运行文件中放置一个调试器,你会看到用户的密码是经过哈希处理的,但是当你查看 mongo 集合时,用户的密码是以纯文本形式存储的。如何将用户密码保存为哈希?

这是我的文件:

运行.py:

设置.py:

0 投票
1 回答
809 浏览

python - Eve 模式中的条件必填字段

我实现了最近提交'dependencies': {'attr': 'val'}的支持,但它不适用于我的用例。这是我想做的:

当我使用 POSTobject到端点时schema,它会失败并显示"attr2": "field 'type' is required with values: Foo"。我希望它只有attr1: 'Foo'在我的依赖项字典中才会失败。

我认为 Eve 可能正在填充模式中指定attr2的默认值1,这就是它抛出此错误的原因,但我不确定。

0 投票
1 回答
306 浏览

python - 在 EVE 中绕过令牌身份验证的自定义请求

我是 EVE 框架的新手,但已经对烧瓶和 mongodb 有一些经验。我想构建一个基于 eve rest 和 token auth 的 web 应用程序。例如,我有一个案例:我想在用户填写表格时实时检查电子邮件是否存在。用户信息在用户集合中,但我想将用户集合放在令牌身份验证下。那么我应该如何处理没有令牌的自定义请求?它应该通过烧瓶处理吗?

也许是这样的:

谢谢!

0 投票
1 回答
1228 浏览

python - Python Eve:PATCH 上的 412 前提条件失败

我有一个带有以下相关代码的 Python Eve 应用程序:

字段定义:

我正在发送 PATCH 请求:

我从在此 PATCH 之前发送的 GET 请求的 ETag 中获得了 If-Match。app.data.update 方法执行并且数据按预期更新,但是我得到响应412 PRECONDITION FAILED。为什么?我应该怎么做才能获得200 OK

0 投票
1 回答
81 浏览

eve - eve在使用授权时如何使顶级端点公开?

我正在使用 python-eve 开发 REST API。如文档中所述,我将授权与默认 TokenAuth 类的子类一起使用。但是,现在 GET 请求/回复错误代码 401 和消息“请提供正确的凭据”。

我想要一个对 / 的 GET 请求,只返回未经授权的可用资源的默认列表。

对于常规端点,我只需将 GET 添加到架构中的 public_methods 属性,但 / 没有架构,如何再次使其成为公共端点?