Вместо того, чтобы делать new Recorders(input)
, вы, вероятно, должны get
это:
def input = request.JSON
def instance = Recorders.get(input.getAt('id'))
instance.properties = input
instance.save()
Редактировать
(из вашего комментария) Если это не такне существует, и вы хотите вставить его:
def input = request.JSON
def id = input.getAt('id')
def instance = Recorders.get(id)
if(!instance) {
instance = new Recorders(id: id)
}
instance.properties = input
instance.save()
Я не использую назначенные генераторы идентификаторов, поэтому я не уверен, будет ли Grails автоматически связывать идентификатор (поскольку он ожидает, что он будет назначен)).Если это так, вы можете удалить id: id
из конструктора Recorders()
.