0
A
回答
1
一件事很多人似乎忘記了是個什麼模式真的是MVC。大多數情況下,它們只是數據庫的抽象層,但它們不一定是。它們也可以是與外部API交互的服務。所以說,當我在一個使用外部API的網站上構建一個功能時,我通常從爲該API創建模型開始。然後,我嘗試將方法命名爲儘可能類似於Eloquent
方法,只是因爲這是我最習慣的方式,並且傾向於最有意義。
這些方法只是與API交互,甚至可以使用API的結果來填充集合對象。這個想法是設計你的模型的方式,你甚至不覺得你正在與第三方API交互。
在模型之上,我還將構建一個存儲庫,其中將包含應用程序與API進行交互所需的任何業務邏輯。例如,如果您需要從API中獲取特定項目,則可能需要首先檢查自己的數據庫以獲取緩存版本。如果沒有,請從API和緩存/重新緩存中獲取該項目,然後將結果返回到控制器。
然後,您會將資源庫注入控制器,並根據需要執行任何操作。
此外,它可能非常明顯,但API密鑰和API入口點在您的配置文件或.env文件中會很順利,具體取決於您使用的是哪個Laravel版本。如果第三方提供您想要使用的更新的API版本,在您需要更新模型的情況下,最好還是使用服務提供程序來管理依賴注入。在這種情況下將模型編碼到界面有可能在稍後爲您節省一些麻煩。
最後一個注意事項是,在開始之前,先檢查包裝盒。重新發明輪子沒有意義。
相關問題
- 1. 乾淨的解決方案不乾淨FakesAssemblies?
- 2. 的Visual Studio/MSBuild的 - '乾淨' 解決方案
- 3. 乾淨的ASP.Net動態條目錶行的解決方案
- 4. 乾淨的解決方案知道哪個MKAnnotation已被挖掘?
- 5. 乾淨的解決方案,暫時取消訂閱事件
- 6. 乾淨的解決方案,以字符串內計數
- 7. Swift - WebView HTTP驗證 - 最乾淨的解決方案
- 8. android CountDownTimer - 最後onTick沒有調用 - 使用什麼乾淨的解決方案?
- 9. 純淨的ColdFusion解決方案可以實現乾淨的URL嗎?
- 10. 乾淨的解決方案,爲Python列表解析中的缺失值
- 11. C#MVC:ModelBinder的案例,還是不是?尋找「最乾淨」解決方案
- 12. 在Laravel 4.2中使用PHPExcel生成報表的解決方案
- 13. Laravel乾淨的URL
- 14. 在RESTful API中使用乾淨網址
- 15. 提取準備好的語句邏輯的最乾淨的解決方案
- 16. 乾淨的解決方案,以重置rspec測試之間的類變量
- 17. 不同可能的流,尋找一個乾淨的解決方案
- 18. 一個乾淨的解決方案中使用多個在ASP.NET提交按鈕MVC
- 19. Foreach如果多維否則沒有循環,最乾淨的解決方案
- 20. 多語言CMS - 一個乾淨,可維護的構建解決方案?
- 21. 在Hybris解決方案中使用CDN
- 22. 在vs2015解決方案中使用Angular2?
- 23. 解決方案使用MATLAB
- 24. 什麼是最好的解決方案(尤其是對性能和乾淨的代碼)在笨使用__autoload?
- 25. Laravel乾淨的代碼
- 26. Laravel乾淨的url問題
- 27. Laravel驗證登錄解決方案
- 28. 解決方案在使用z3的循環內超時Python API
- 29. API文檔的Wiki解決方案?
- 30. 解決方案超時的Z3 C-API
我剛讀了這本書https://leanpub.com/build-apis-you-wont-hate。這是一個關於如何構建API的非常好的資源,大多數示例使用Laravel。 – user3158900
對不起,您可能錯誤地閱讀了這個問題。我已經知道如何使用Laravel構建API。我正在尋找在Laravel中使用外部API的最佳和最簡潔的方式。 –
哦,很抱歉,再次閱讀後,我意識到我的解釋完全與它所說的完全相反。 – user3158900