我在Eclipse中创建了一个Java Web服务,它提供了一个REST API和一个Android项目(在Android Studio中),它使用了所谓的API。我现在面临的问题是我想在Java webservice和Android应用程序中使用相同的模型/域类(webservice使用Maven,而Android应用程序使用Gradle)。
目前,我正在手动镜像我对Java webservice和Android项目中的模型类所做的任何更改。然而,这非常繁琐,显然不是一个好的解决方案。
我的问题是如何解决这个问题。我想过创建一个包含模型类的Maven模块,并在Java webservice和Android项目中导入它们。但是我不确定这个解决方案是否有效。
我没有看到更好(也许是显而易见的)解决方案吗?在此先感谢您的帮助!
编辑:分享整个模型类真的很聪明吗?我显然不想使用Android项目中webservice的所有属性(例如,密码永远不会存储在Android项目中,但必须存储在web服务中)。
答案 0 :(得分:0)
您可以为模型创建一个库,并在提供程序(REST API)和使用者(您的Android应用程序)之间共享它。这可以通过多模块maven项目来完成,在该项目中,您可以为模型层提供模块,为REST API层提供另一个使用先前模型工件的模块。
这样做,您可以将模型库安装在本地存储库中(或将其部署在您可能需要的任何集中式存储库中),并在Android应用程序中使用它。
但是我建议你不要这样分享模型,因为你会在模型级别紧密耦合你的消费者和提供者。这将使得独立发展变得更加困难。