2014-01-14 45 views
0

我第一次創建了一個寧靜的api。我們從一個例子開始: 我有一個產品,可以鏈接到多個類別。處理多個選擇器的最佳做法

在客戶端,我只想要一個表單,我可以填寫產品詳細信息,並且我有一個多選擇器,可以選擇我的類別。

什麼是處理這樣的事情的最佳做法。我是否將我的數據發佈/放入一個api call/api/product並在那裏處理類別。或者我在客戶端中拆分分類選擇和產品詳細信息,並創建2個API調用(一個用於產品詳細信息,另一個用於分類選擇)。

我在這裏尋找最佳選擇。兩者都是可能的。只有一個API調用將是最簡單的。但我非常寧靜,我需要2 & pi-calls ...

感謝您的答案!

回答

0

我沒有看到單個API調用有什麼問題。

因此,您可以執行POST/PUT/api/product並將產品詳細信息和產品所屬的類別作爲參數傳遞。

在添加的情況下,我假設您將執行POST到/api/product並傳遞參數(如產品名稱,價格等)以及類別列表。

同樣在更新的情況下,您可以執行PUT/api/product/<productid>並傳入上述參數。

0

'產品'是這裏的資源。

因此'api/products'列出了產品列表。 'api/products/{{id}}'給出產品的詳細信息。

一個想法是處理類別是資源本身。並且每個產品都訂閱零個或多個類別。所以'api/categories'給出了一個類別列表。現在你有另一個資源說'product_subscription'將產品映射到類別。這就是'api/product_subscriptions'給你這樣一個列表:

{ 
    "productId":"someid" 
    "categoryId":"some_category_id1" 
}, 
{ 
    "productId":"someid" 
    "categoryId":"some_category_id2" 
}, 
{ 
    "productId":"someid" 
    "categoryId":"some_category_id3" 
} 

你可以使用查詢參數進一步過濾此列表。