2014-12-05 78 views
1

我目前正在使用Flask,Flask-sqlalchemy和flask-restless開發一個REST API。是否可以擴展Flask-restless來添加新路線?

我有一個用戶模型和一個類別模型。一個用戶可以有多個類別,一個類別只能屬於一個用戶(一對多關係)。這種關係是在sqlalchemy模型中建立起來的。

我正在使用瓶子不安地創建api。舉例來說,我有以下行來創建用戶API:

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

當我做一個GET請求或POST請求上/ API /用戶,一切工作正常。

當我在/ api/users/3/categories上做GET請求時,它也可以工作。

但是,我不能做/ API POST請求/用戶/ 3 /類別,並得到

狀態代碼:405不允許的方法,允許:OPTIONS,HEAD,GET

顯然,只允許OPTIONS,HEAD和GET請求,但是在創建api時,我確實包含了POST。

你們有什麼想法是什麼問題嗎?或者如何擴展api以允許POST方法在瓶中不安?

回答

0

如果你想新的類別添加到現有的用戶,您應該發送一個PUT/PATCH請求:

/api/users/3 

與請求數據看起來像這樣:

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