假設我有一個包含100多個表的關係數據庫。每張桌子都模仿某種實體(人物,地址,車輛,狗等等)。假設我也有一個寧靜的API和一羣想要將數據發佈到這個數據庫的人。很多時候,這些數據都是作爲一個XML包或者來自Web表單的POST數據或者其他性質。 有時我們需要發佈到數據庫的所有表格,有時候是最多的,有時是一些,有時是一個。Restful資源和關係數據庫不兼容
現在需要我們的客戶通過的
POST /person
POST /email
POST /vehicle
POST /insurance
RESTful方式張貼多資源數據的團塊到100+表持久性是瘋了!因此,我們可以有一個資源而不是爲
POST /auto-record
{ post body of key values for all the tables needed to make an 'auto-record' }
,它會被連接到某種商業邏輯,它知道,使插入到所需的數據庫的許多表。好的,太好了。但是現在我正在考慮這個設計,這個設計是否遵守開放/封閉的原則?如果我們需要更新/添加/刪除「自動記錄」,那麼我們就搞砸了我們的客戶。
restful api如何處理資源分組?或者它不是?有替代品嗎?
您遇到此問題的意見區域。誰說,所有的程序都必須遵循所有的SOLID校長?通常以其他收益的名義,您放棄了一些校長,您通常會遵循 –
我不知道您的方法中存在任何REST式樣違規行爲。也許你應該考慮重命名你的資源名稱,因爲'auto-record'太抽象了。提供GET,POST,UPDATE或DELETE更復雜的實體(他的寵物列表,地址等的人)應該沒有問題。請參閱下面的答案。 P.S .: REST原則不是一種學說,它是使用資源處理HTTP協議的正確方法。 – klimpond