我开始研究 grails 的 JAX-RS 插件,并认为这是要走的路,主要是因为它基于 JSR-311,而且我认为遵循标准通常是明智的做法。然而,使用 Grail 的 UrlMappings 似乎我基本上实现了同样的事情。我想我错过了一些东西,但是,我们并没有做任何过于复杂的事情。我们基本上只需要通过 API 公开 CRUD。对两个版本执行相同操作的示例:
JAX-RS:
@PUT
@Consumes(['application/json'])
@Produces(['application/json'])
Response putUser(User user) {
user.save(flush:true)
ok user
}
圣杯:
def update = {
def user = new User(params['user'])
user.save(flush:true)
render user as JSON
}
显然,这是一个过于简单的例子,就像我说的,也许我遗漏了一些重要的东西。此外,Grails 内置机制的好处是我可以同时使用内容协商。
有人对此有任何意见吗?