Я начал искать подключаемый модуль JAX-RS для Grails и подумал, что это правильный путь, главным образом потому, что он основан на JSR-311, и я полагаю, что следование стандартам обычно разумно. Однако, используя UrlMappings Grail, кажется, я в основном достиг того же самого. Я полагаю, что что-то упускаю, однако мы не делаем ничего слишком сложного. Нам просто нужно открыть CRUD через API. Пример выполнения одного и того же с обеими версиями:
ДЖАКС-РС:
@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 хорош тем, что вместе с ним можно использовать Content Negotiation.
У кого какие мнения по этому поводу?