我正在爲Kohana網站的ORM對象的REST接口工作。我有兩個控制器至今:如何擴展一個REST API超出正常的CRUD操作
Controller_Api_Product
URL: api.example.com/product/<product_id>
Controller_Api_Category
URL: api.example.com/category/<category_id>
每一種接受以下方法和成功地更新記錄。
- POST:創建
- GET:閱讀
- PUT:更新
- 刪除:刪除
我想創建的處理ORM的的has_many性能的一些方法。例如,我希望能夠將產品和類別鏈接在一起。我有這種關係存儲在一個單獨的表(products_categories)。我沒有該表的ORM模型(因爲我沒有存儲任何額外的關係數據)。
什麼是最好的管理方式?我應該爲表格創建一個ORM模型並且它是自己的控制器?
Controller_Api_Product_Category
URL: api.example/product_category/<product_category_id>
我應該使用不同的HTTP方法(例如LINK)?
Controller_Api_Product_Category與方法LINK稱爲
URL: api.example/product/<product_id>
如果我有未綁定到特定模型的一些其他完全不同的控制器?
Controller_Api_Link
URL: api.example.com/link/product/<product_id>/category/<category_id>
具有單獨的鏈路控制器顯然可以用於任何對象。對於如何將我的REST API擴展到正常的CRUD操作之外,我只是有點難過。
聽起來不錯,每個數據庫表的控制器(與ORM模型相反)。 –