为Spring Boot REST api后端构建Web前端?

问题描述 投票:0回答:2

因此,我正在开发一个Android应用程序以自学这些概念。 我目前正在使用Spring Boot在后端上进行工作,我正在将其实现为RESTful API。

我对此事做了很多阅读,每个人似乎都有不同的方法,并且我太缺乏经验和幼稚了,无法更好地了解。

我想做的是有一种方法也可以实现该应用程序的网站组件(因为该应用程序仅是android,并且我需要能够允许iPhone和台式机用户使用它,否则我最终可能会为此使用诸如PhoneGap之类的东西)。

我目前的理解为我提供了一些路径,但我不确定该怎么做或如何去做。

一种方法是,我可以创建一堆JSP模板,并修改REST控制器以根据标头中包含的信息返回页面,从而确定Web是否需要JSON或需要整个页面。 一个明显的缺点是需要控制每个URL的方法(遵循MVC模式的一个返回JSON和一个返回的HTML / JSP)。

我可以想到的另一种方法是为Web创建一个完全独立的应用程序,该应用程序仅将REST API视为填写其页面的数据源。 这甚至可以用PHP或Javascript之类的方法完成。 不利的一面当然是开发(和维护)完全独立的应用程序所需的额外工作,以及为处理每一个所需的少量数据而需要与之交互的大量样板。

有人可以清除一下吗? 我的头在游泳。 我知道我不是唯一一个遇到此问题的人,但是要找到有关该主题的高质量信息出奇地困难。

java rest jsp spring-boot spring-rest
2个回答
2
投票

您可以保留您的后端服务休息库。 这样您就可以具有良好的代码可维护性和可伸缩性。 您可以构建Android应用程序以使用您的Rest api并呈现视图,同样,您可以使用Angular,ReactJS等框架构建SinglePage应用程序以使用服务器端的REST API并呈现视图。

他们可能必须作为两个单独的项目来处理,我认为这是一个优势。 Rest APIs结构的任何更改都可能必须在两个客户端项目中都进行更改,并且可以再次使用良好的文档工具(例如Swagger.io)进行管理,并自动进行适当的集成测试用例。

我过去使用这种方法构建了Android本机应用程序,Web前端(Angular),服务(spring boot和scala),并且在此体系结构中表现出色。


1
投票

您也可以使用完全基于休息的Web应用程序来做得很好! 实际上,您可以在创建的混合android应用中重用很多代码。
如果要使用mvc,则可以使用一台服务器,该服务器具有用于所有应用程序的通用服务和dao层,以及用于Web和Rest的不同控制器。

© www.soinside.com 2019 - 2024. All rights reserved.