我和一些朋友将开发一个带有playframework和移动应用程序(android和iphone)的网站。所以我们需要为移动应用程序(CRUD)制作一些web服务。因此,我们考虑在playframework应用程序中使用此Web服务,而不是浪费时间并使用anorm
创建CRUD(编写所有sql请求)。
好吧,我在这里征求你的意见。这是一件好事吗?这里最好的建议方法是什么?
谢谢。
PS:使用我们数据库中的Netbeans自动生成Web服务。
答案 0 :(得分:5)
我有多种理由反对这种方法。
一般设计规则不是将您的内部数据模型暴露给用户。这个规则有很多种,其中分层体系结构可能是最知名的。
详细说明会出现以下问题:
其中一些原因确实重叠,但我认为一般问题应该是明确的。
我会推荐以下内容,而不是这种方法。为您的应用程序开发RESTfull端点,这并不难。这是客户应该开发的外部合同。例如,play-mini非常需要基于Unfiltered的API来执行此操作。在此过程中,请关注应用程序真正需要的操作。在考虑生产就绪软件时,CRUD通常是一个糟糕的模型。
如何访问数据库是您必须做出的另一个决定,但可能并不重要,因为它不是您的外部合同,因此您可以在需要时更改它。