2
respostas

Erro ao realizar a conversão para JSON

Estou com um problema na hora em que o objeto Transaction está sendo convertido para JSON, ocasionando a adição de uma chave { a mais no body, causando o erro 'Invalid request body';

Unhandled Exception: Invalid argument(s): Invalid request body "{{value: 2000.0, contact: {id: 1, name: Jean, accountNumber: 1230}}}".

Segue transaction_webclient save()

Future<Transaction> save(Transaction transaction) async {
    final Response response = await client.post(
      baseUrl,
      headers: {
        'Content-type': 'application/json',
        'password': '1000',
      },
      body: {
        transaction.toJson(),
      },
    );

    return _toTransaction(response);
  }

Transaction.toJson()

Map<String, dynamic> toJson() => {
    'value': value,
    'contact': contact.toJson()
  };

Contact.toJson()

Map<String, dynamic> toJson() => {
    'id': id,
    'name': name,
    'accountNumber': accountNumber,
  };
2 respostas

Olá! Tente no transaction_webclient save(), onde você passa: body: { transaction.toJson(), },

Passar body: transaction.toJson(),

Espero que resolva seu problema :)

Bom dia Jean, tudo bom?

Ainda persiste com o problema? Aguardo o retorno.

Qualquer dúvida, estamos a disposição.

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