1

我目前正在使用 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方法?

4

1 回答 1

0

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

/api/users/3

请求数据如下所示:

{ "categories":
  {
    "add": [ {"field1": "val1", "field2": "val2"} ]
  }
}
于 2015-01-09T11:15:34.713 回答