【问题标题】:Python Eve: Is there a way to avoid resource lookup passed through url in eve frameworkPython Eve:有没有办法避免在eve框架中通过url进行资源查找
【发布时间】:2016-08-11 08:07:04
【问题描述】:

Python Eve:有没有办法避免在 eve 框架中通过 url 进行资源查找?

例如/people/(string:user_id)/hobbies

我想避免在端点请求中查找 user_id,我将以自定义方式处理 user_id 字段。

【问题讨论】:

    标签: python get endpoint eve


    【解决方案1】:

    您可以选择每个资源或全局允许的方法。

    在这种情况下,您可以通过设置项目 item_methods 属性将 GET 限制为 people。例如,如果您想只允许DELETE 用于该项目,则需要在endpoint definition 中添加以下内容:

    'item_methods': ['DELETE']
    

    文档说:

    item_methods:

    项目端点支持的 HTTP 方法列表。允许的值:GET、PATCH、PUT 和 DELETE。 PATCH,或者对于不支持 PATCH 的客户端,使用 X-HTTP-Method-Override 标头标记进行 POST。本地覆盖 ITEM_METHODS。

    【讨论】:

    • 您好 GCW,我不知道我是否以正确的方式解释了我的问题。我已经创建了一个类似于上面示例的 api,现在“POST”工作正常,但是当涉及到“GET”请求查找时,总是添加“user_id”以从我想要整体避免的资源中查询。因为我的查找标准是自定义的。我的目标是省略从 url 路径中提取并添加到查找查找查询的附加查找字段“user_id”。有没有其他选择。
    • 对不起,我弄错了。我在想你想删除 GET 方法。因此,您想避免使用默认 ID 查找来查询项目吗?你说的“user_id”不就是mongo的object_id吗?
    • 是的,但它没有存储在我正在查询的资源模式中,或者它存在于子字典下,例如{"_id":Ob 到 mongodb.jectId("someid"), department:"IT", employee_details:{"user_id":ObjectId("some user id"), "name":""}}。基本上我想避免发送的最终查询的 user_id 查找字段
    • 知道了。但我不知道该怎么做:/。
    猜你喜欢
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多