[英]fetch data from 3rd party API - Single Responsibility Principle in Django
如果我想忠實於“單一責任原則”,從外部API提取數據的最優雅的方法是什么? 應該在哪里/什么時候制作?
假設我有一個POST /foo
端點,該端點在被調用后應該以某種方式觸發對外部API的調用,並從其獲取/保存本地數據庫中的一些數據。 我應該在視圖中添加呼叫嗎? 還是模特?
我通常將所有外部API調用添加到專用的services.py
模塊中(與您計划將結果保存到模型或common
應用程序中的models.py
相同的級別,如果任何現有應用程序在邏輯上不相關)
在該模塊內,您可以使用名為smth的類(例如MyExtarnalService
並添加所有用於獲取,發布,刪除等所需的方法,就像使用drf api視圖一樣。
還記得通過定義自定義錯誤異常類來正確處理異常(超時,連接錯誤,錯誤響應代碼)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.