Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Pagamento vindo em formato estranho

Olá estou tendo dificuldade em persistir o pagamento no banco, segue o codigo abaixo:

app.post('/pagamentos/pagamento', function(req, res){
    var pagamento = req.body;
    console.log('processando uma requisicao de um novo pagamento');

    pagamento.status = 'CRIADO';
    pagamento.data = new Date;

    var connection = app.persistencia.connectionFactory();
    var pagamentoDao = new app.persistencia.PagamentoDao(connection);

    pagamentoDao.salva(pagamento, function(erro, resultado){
      console.log(pagamento)
      console.log('Pagamento Criado');


      res.json(pagamento);
    });
  });

Comando curl:

 curl -X POST 'Content-type: application/json' -d @files/pagamento.json http://localhost:3000/pagamentos/pagamento | json_pp

Eles esta me retornando o objeto dessa forma:

{
   "{    \"forma_de_pagamento\":\"payfast\",    \"valor\":98.53 ,    \"moeda\":\"USD\",    \"descricao\":\"criando um pagamento\"}" : "",
   "status" : "CRIADO",
   "data" : "2018-08-07T14:30:16.748Z"
}

Consequentemente quando eu colocar o validator, ele não reconhecerá o que está lendo da requisição. Como posso resolver?

5 respostas

Oi Arthur, esse seu console.log de pagamento, tá exibindo ele como?

Boa tarde,

Estou com um problema.

Ao retorna o json do banco o mesmo esta sendo exibido assim:

{"status":"success","data":[{"result":"[\n    {\n        \"id\": 1,\n        \"name\": \"ronald\",\n        \"teste_2\": [\n            {\n                \"id\": 5,\n                \"name\": \"ronald22\",\n                \"cooldown\": 30,\n                \"duration\": 30,\n                \"description\": \"testando retorno22\"\n            },\n            {\n                \"id\": 6,\n                \"name\": \"ronald222\",\n                \"cooldown\": 30,\n                \"duration\": 30,\n                \"description\": \"testando retorno2222\"\n            }\n        ],\n        \"description\": \"testando retorno\"\n    }\n]"}],"message":"Retrieved list"}

Tem algum solução?

No banco o mesmo retorna todo certinho.

Ola Wanderson, o console log que mostra o pagamento está retornando isso aqui:

PAGAMENTO: {"{    \"forma_de_pagamento\":\"payfast\",    \"valor\":98.53 ,    \"moeda\":\"USD\",    \"descricao\":\"criando um pagamento\"}":""}
solução!

Bom dia, eu consegui achar o erro. Infelizmente na requisição curl eu tinha omitido o -H. Então funcionou com esse comando aqui:

curl -X POST -H 'Content-type: application/json' -d '@files/pagamento.json' http://localhost:3000/pagamentos/pagamento | json_pp

Desculpa o incomodo. Grato :D

Hm, tudo bem! Esses detalhes passam mesmo. Fico feliz que tenha encontrado a solução Arthur! Renan, veja se a solução do Arthur resolve o seu caso também.

Bons estudos pessoal!

Arthur, não é incomodo algum, sinta-se a vontade, tá bem?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software