Recebendo JSON via REST, mas não grava
12/10/2017 23:48
0
Olá,
Ao receber um JSON via REST, obtenho os dados corretamente, porém não grava no banco...
--------------------------------------------------------
incluo no UrlMappings.groovy:
"/iot/sensor"(controller: "iot", action: "sensor")
--------------------------------------------------------
no meu controller iotController.groovy:
    def sensor(){
        def dadosIot = request.JSON
        if(dadosIot){
            def sensorIot = new Iot(dadosIot)

            // sensorIot.save flush:true
            // save(sensorIot)
            // iotService.save(sensorIot) ?// grails 3.3.1

            render "Salvo: id: $sensorIot.id - $sensorIot.sensor - Temp: $sensorIot.temp"
        }
        else{
            respond iotService.list(params), model:[iotCount: iotService.count()]
        }
--------------------------------------------------------
Como teste uso o curl para fazer um Post enviando o JSON para o servidor (no Windows):
c:\> curl -X POST -H "Content-Type:application/json" -d "{\"id\":101,\"sensor\":1111,\"temp\":26.4}" http://localhost:8080/iot/sensor
--------------------------------------------------------
No meu controller / sensor() recebo corretamente em dadosIot o JSON enviado pelo curl e o objeto sensorIot recebe os atributos de dadosIot,
inclusive no render ele retorna ao curl no terminal a string resultado:
"Salvo: id: $sensorIot.id - $sensorIot.sensor - Temp: $sensorIot.temp",
porém nenhuma das linhas de save comentadas acima funciona. Os dados não são gravados no banco.

ALLguém pode me dar uma luz ?

Obrigado,

Everton Sales
Tags: Grails, JSON, REST, curl


0
Provavelmente há algum erro de validação nos dados.
O que ocorre: o Grails falha silenciosamente se um problema de validação ocorrer. Já tentou persistir usando a opção failOnError:true, no método save?

Tal como neste exemplo: objeto.save(failOnError:true)


1
Matou a charada, simplesmente esqueci de um "nullable: true"... arg
Em tempo, tiro o chapéu pela facilidade do grails em receber um JSON...
Primeira vez que precisei e fica aí o código, outra mão na roda é o curl.
Obrigado
13/10/2017 11:26



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto