簡體   English   中英

為Spring Boot REST api后端構建Web前端?

[英]Building a web frontend to a Spring boot REST api backend?

因此,我正在開發一個Android應用程序以自學這些概念。 我目前正在使用Spring Boot在后端上進行工作,我正在將其實現為RESTful API。

我對此事做了很多閱讀,每個人似乎都有不同的方法,並且我太缺乏經驗和幼稚了,無法更好地了解。

我想做的是有一種方法也可以實現該應用程序的網站組件(因為該應用程序僅是android,並且我需要能夠允許iPhone和台式機用戶使用它,否則我最終可能會為此使用諸如PhoneGap之類的東西)。

我目前的理解為我提供了一些路徑,但我不確定該怎么做或如何去做。

一種方法是,我可以創建一堆JSP模板,並修改REST控制器以根據標頭中包含的信息返回頁面,從而確定Web是否需要JSON或需要整個頁面。 一個明顯的缺點是需要控制每個URL的方法(遵循MVC模式的一個返回JSON和一個返回的HTML / JSP)。

我可以想到的另一種方法是為Web創建一個完全獨立的應用程序,該應用程序僅將REST API視為填寫其頁面的數據源。 這甚至可以用PHP或Javascript之類的方法完成。 不利的一面當然是開發(和維護)完全獨立的應用程序所需的額外工作,以及為處理每一個所需的少量數據而需要與之交互的大量樣板。

有人可以清除一下嗎? 我的頭在游泳。 我知道我不是唯一一個遇到此問題的人,但是要找到有關該主題的高質量信息出奇地困難。

您可以保留您的后端服務休息庫。 這樣您就可以具有良好的代碼可維護性和可伸縮性。 您可以構建Android應用程序以使用您的Rest api並呈現視圖,同樣,您可以使用Angular,ReactJS等框架構建SinglePage應用程序以使用服務器端的REST API並呈現視圖。

他們可能必須作為兩個單獨的項目來處理,我認為這是一個優勢。 Rest APIs結構的任何更改都可能必須在兩個客戶端項目中都進行更改,並且可以再次使用良好的文檔工具(例如Swagger.io)進行管理,並自動進行適當的集成測試用例。

我過去使用這種方法構建了Android本機應用程序,Web前端(Angular),服務(spring boot和scala),並且在此體系結構中表現出色。

您也可以使用完全基於休息的Web應用程序來做得很好! 實際上,您可以在創建的混合android應用中重用很多代碼。
如果要使用mvc,則可以使用一台服務器,該服務器具有用於所有應用程序的通用服務和dao層,以及用於Web和Rest的不同控制器。

暫無
暫無

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

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