2017-01-12 50 views
0

我有非常普遍的問題。例如,我有員工表,其中包括姓名,地址,年齡,性別,部門等。當用戶想要查看總體員工信息時,我不需要從DB中提取整列。我想通過將每個部門的員工姓名分組來首先顯示總體員工信息。然後,如果用戶有更多興趣,用戶可以選擇一名特定員工。 要實現這一點,哪種方法會更好。前端與後端的數據填充和操作

1)應用兩個不同的API,通過應用不同的查詢將產生兩個不同的數據結果。因此,如果我採用這種方法,即使我必須調用兩個不同的API,它似乎也很有效。

2)應用一個API,即使整個員工信息不需要全部詳細的員工信息,也會產生一個包括整個員工相關列的數據結果。一旦我得到這些數據,我可以根據不同的需要,通過操縱已從前端提取的數據來重新格式化員工信息。

通常,開發者在1)和2)之間採用哪種方法?我認爲1)是有道理的,但API將會過於專業化,而不是泛化。在前端(Angular 2)中處理從後端(RESTful)獲得的數據是否是一種理想的方式? 在獲取完整數據後,創建相對更多數量的專用API或在前端處理數據時,哪種方法更受歡迎?如果有一些標準需要採取哪種方法,我必須考慮哪些方面? 這是對的嗎?如果有人對此有所瞭解,您可以提供一些指導嗎?

回答

1

這是一個非常有趣的討論。如果您需要一個非常優化的應用程序,那麼您需要使用第一個選項。另外,如果您的員工只有某位特權用戶可以訪問某列,則可以想象客戶端操縱不會阻止某些惡意黑客看到它。在這種情況下,您還必須實施第一個選項。

缺點是,在某些時候,你可能會有太多的API做非常類似的事情,使它變得混亂和不生產。

關於第二種選擇,正如您所指出的,使用通用API是一件好事,所以爲了加速開發過程並擁有一套更清潔的API,您可以浪費少量互聯網流量作爲回報。

您需要平衡您的需求。

  • 資源是否優化?就像數據庫查詢和互聯網請求一樣速度。
  • 還是開發時間?你有足夠的時間來實現所有這些事情和優化嗎?
+0

我明白了,非常感謝您的評論。 –