我正在考虑新项目计划中的新软件设计模式。我想创建一个 grails API 项目,它使用内置的 rest API 功能抽象化对数据库层的访问。
目标是拥有一个仅充当 API 的中间件和使用此 REST API 的一些其他应用程序(前端、移动前端、应用程序...)。
我问自己,使用这种模式是否会遇到问题或更复杂的开发环境?
什么是验证?这对 grails 的 REST API 功能是否没有问题(我需要向用户显示错误)?
是否有可能在我的应用程序项目中创建 REST 客户端,其作用类似于域类对象?所以每个人都可以使用 grails(也包括插件),因为它是一个普通的 grails 项目。
这个模式有什么已知的问题吗?
最佳答案
客户端通过 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 是实现业务逻辑的好方法。
Is there a possibility to create REST clients in my app projects wich act like domain class objects? So everyone could work with grails (also plugins) as it would be a normal grails project.
正如 Andew 所说,Grails 有 gorm-rest-client可以用来那个。如果您的客户端与 Grails 不同,那么您可能需要不同的实现,但 REST 客户端也已经存在于其他语言和框架中。
关于api - 如何使用 grails 构建数据库抽象层/API/中间件项目,我的看法是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21290413/