Мне было интересно, как лучше всего обрабатывать запрос на обновление существующего объекта (например, пользователя) при получении запроса в качестве запроса веб-службы.
В моем проекте у меня есть класс домена Person, и я хотел бы представить операции CRUD как операцию веб-сервиса через плагин CXF. Поэтому я делаю PersonService и открываю методы с помощью
static expose = ['cxfjax']
Тогда у меня есть метод обновления:
@WebResult(name = "person")
@WebMethod(operationName = "update")
Person update(@WebParam(name="person")Person person) {
println "Updating $person"
return person.save()
}
В сервисе я получаю прекрасный объект Person, но даже если у него есть идентификатор существующего человека, создается новый человек, и идентификатор изменяется, чтобы отразить это.
ТАК ... как я могу получить человека, которого я получаю, "объединенным" в сеанс Hibernate, чтобы Grails распознал его как существующего Человека?
С уважением,
Christian