2012-04-19 86 views
4

舉一個簡單的例子,假設您在您的網站上創建留言簿,並計劃通過API爲創建和讀取功能提供外部訪問。更新和刪除不會包含在API中,因爲它只能在內部使用。API設計:分離內部還是外部功能?

什麼是更好的做法?

  • 通過API使整個CRUD功能可用,並限制公衆訪問更新和刪除。所以你自己也會使用API​​來完成應用程序的所有內部工作。

  • 爲所有內部工作制作無內部API的內部CRUD函數,然後爲創建和只讀創建單獨的API。基本上這給你兩種使用Create和Read的方法 - 一種使用API​​,一種不使用。

  • 在沒有內部工作API的情況下進行內部更新和刪除功能,然後爲創建和只讀創建API。如果您需要使用創建和讀取功能進行內部工作,則必須使用API​​。

我希望這很清楚,通常最好的做法是什麼?

回答

3

我喜歡第一個選項。它有一個明確的例子,在正確的背景下分離問題和使用正確的工具。

通過對API使用CRUD方法,您可以獲得一致性和完整性。它使得設計更加緊密,代碼複製更少,並且更容易進化。安全方面可以在支持API的應用程序內部或外部實現。例如,對於外部選項,您可以使用三維派對軟件或硬件解決方案,如防火牆。