【问题标题】:Is it possible to extend Flask-restless to add new routes?是否可以扩展 Flask-restless 以添加新路线?
【发布时间】:2015-02-03 20:51:54
【问题描述】:

我目前正在使用 Flask、Flask-sqlalchemy 和 flask-restless 开发一个 REST API。

我有一个用户模型和一个类别模型。一个用户可以有多个类别,一个类别只属于一个用户(一对多关系)。关系是在 sqlalchemy 模型中建立的。

我正在使用 flask-restless 来创建 api。例如,我有以下行来创建用户 api:

manager.create_api('User', collection_name='users', methods=['GET','POST','PUT','DELETE'])

当我在 /api/users 上执行 GET 请求或 POST 请求时,一切正常。

当我在 /api/users/3/categories 上执行 GET 请求时,它也可以工作。

但是,我无法在 /api/users/3/categories 上执行 POST 请求并获取

状态码:405 METHOD NOT ALLOWED,允许:OPTIONS、HEAD、GET

显然,只允许 OPTIONS、HEAD 和 GET 请求,但在创建 api 时,我确实包含了 POST。

你们知道问题出在哪里吗?或者如何扩展 api 以允许在 flask-restless 中使用 POST 方法?

【问题讨论】:

    标签: python-3.x flask flask-sqlalchemy flask-restless


    【解决方案1】:

    如果您想向现有用户添加新类别,您应该发送 PUT/PATCH 请求到:

    /api/users/3
    

    请求数据如下所示:

    { "categories":
      {
        "add": [ {"field1": "val1", "field2": "val2"} ]
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 2010-12-21
      • 1970-01-01
      • 2015-04-11
      • 2016-07-01
      • 1970-01-01
      • 2014-09-18
      • 2014-11-30
      • 1970-01-01
      相关资源
      最近更新 更多