我在Rails中編寫了一個API來從多個運營商獲取包的價格。從尺寸,重量,地址和地址等方面對包進行了全面描述。每個承運人都會有具體的細節(FedEx:賬號,包裹選項; USPS:機加工性,預處理; UPS:通知細節等)。我仍在決定是應該在本地存儲價格還是從官方API中檢索價格。嵌套的非資源性路由的最佳API設計
我的第一個問題是關於價格資源。我有一個價格模型,但它不是繼承自ActiveRecord,因爲我沒有價格表。我認爲我的網址看起來像/api/v1 /價格,並且需要像{ "length" : 1.0, "address_from" : ... }
這樣的有效載荷。這應該是POST還是GET?我在猜測一個GET,因爲我實際上沒有創建資源,但我不確定。
我的第二個問題是關於有效載荷。我應該嵌套運營商特定的數據嗎?換句話說,哪種方式看起來更加正確(從RESTful的角度和從易用的角度來看)?
選項1:
{ "length" : 1.0, ..., "carrier" : { "name" : "FedEx", "account_number" : "123ABC", "package_options" : "XXX", ... } }
選項2:
{ "length" : 1.0, ..., "carrier" : "FedEx", "fedex_account_number" : "123ABC", "fedex_package_options" : "XXX", ... }
如果它是選項1,我應該創建某種資源嵌套的,我應該改變我的網址構建?
(1)GET(2)絕對不是第2個。我很困惑 - 你爲什麼不存儲價格?如果您的假設是價格變化,並且您將始終獲得最新的信息,您將需要初始價格 – timpone
只是爲了澄清,我將存儲價格,並且我不會包裝API調用。 –