如何使用grails构建数据库抽象层/ api / middleware项目并且我的感知可能吗?

时间:2014-01-22 17:57:52

标签: api rest grails groovy middleware

我正在考虑新计划中的新软件设计模式。我想创建一个grails api项目,它使用内置的rest api功能抽象出对数据库层的访问。

目标是拥有一个仅作为api的中间件和一些使用此REST API的其他应用程序(前端,移动前端,应用......)。

1)我问自己,这种模式是否会出现问题或更复杂的开发环境?

2)验证是什么?这是否可以正常使用grails的REST API功能(我需要向用户显示错误)?

3)是否有可能在我的应用程序项目中创建REST客户端,其行为类似于域类对象?所以每个人都可以使用grails(也就是插件),因为这将是一个正常的grails项目。

4)这种模式是否存在任何问题?

如果你分享你的经验,我会没事的!来自德国的最佳问候,Patrick

1 个答案:

答案 0 :(得分:1)

通常情况下,客户端通过REST API访问服务器端的单页应用程序。请记住,Grails marshall功能接受Map而不是域类,因此您可以自定义响应。例如:

def save() {
  ...
  if(instance.hasErrors()) {
    //you can respond the instance errors in any way that you like
    respond([success: false, errors: instance.errors])
  }
  ...
}

如果您拥有许多不同的客户端,那么REST是实现业务逻辑的好方法 - 移动,前端甚至桌面。

  

是否有可能在我的应用项目中创建REST客户端   像域类对象一样?所以每个人都可以使用grails   (也是插件),因为它将是一个普通的grails项目。

正如Andew所说,Grails有gorm-rest-client可以用来做到这一点。如果您的客户端与Grails不同,那么您可能需要不同的实现,但REST客户端也已存在于其他语言和框架中。