因此,我正在开发一个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 API结构进行任何更改,并且可以再次使用良好的文档编制工具(例如Swagger.io)进行管理,并自动进行适当的集成测试用例。

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

10-08 01:12