簡體   English   中英

從第三方API獲取數據-Django中的單一職責原則

[英]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.

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