簡體   English   中英

API設計:將內部功能與外部功能分開或組合?

[英]API Design: Separate or combine internal with external functions?

舉一個簡單的例子,假設您在站點中創建了留言簿,並計划通過API為創建和讀取功能提供外部訪問。 更新和刪除將不包含在API中,因為它只應在內部使用。

什么是更好的做法?

  • 通過API使整個CRUD功能可用,並限制公共訪問更新和刪除。 因此,您自己也將使用API​​進行應用程序的所有內部工作。

  • 在沒有API的情況下為所有內部工作制作內部CRUD函數,然后為Create和Read創建單獨的API。 基本上,這為您提供了兩種使用Create和Read的方法 - 一種使用API​​,一種不使用。

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

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

我喜歡第一個選擇。 它有一個明確的例子,即在正確的背景下分離關注點和使用正確的工具。

通過對API使用CRUD方法,您可以獲得一致性和完整性。 它可以實現更具凝聚力的設計,更少的代碼重復以及更容易的發展。 安全方面可以在為API提供動力的應用程序內部或外部實現。 對於外部選項,您可以使用三維聚會軟件或防火牆等硬件解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM