我正在考虑新计划中的新软件设计模式。我想创建一个grails api项目,它使用内置的rest api功能抽象出对数据库层的访问。
目标是拥有一个仅作为api的中间件和一些使用此REST API的其他应用程序(前端,移动前端,应用......)。
1)我问自己,这种模式是否会出现问题或更复杂的开发环境?
2)验证是什么?这是否可以正常使用grails的REST API功能(我需要向用户显示错误)?
3)是否有可能在我的应用程序项目中创建REST客户端,其行为类似于域类对象?所以每个人都可以使用grails(也就是插件),因为这将是一个正常的grails项目。
4)这种模式是否存在任何问题?
如果你分享你的经验,我会没事的!来自德国的最佳问候,Patrick
答案 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客户端也已存在于其他语言和框架中。