Quero tirar a seguinte dúvida relacionado ao método save( ) implementado na videoaula: após os dados serem codificados para um Json (jsonEncode) e enviados para a Api ( usando .post() ), Porque esse mesmo Json tem que ser decodificado (jsonDecode) posteriormente?
Future<Transaction> save(Transaction transaction) async {
final Map<String, dynamic> transactionMap = {
'value': transaction.value,
'contact': {
'name': transaction.contact.name,
'account_number': transaction.contact.accountNumber,
}
};
final String transactionJson = jsonEncode(transactionMap);
final Response response = await client.post(baseUrl,
headers: {'Content-type': 'application/json', 'password': '1000'},
body: transactionJson);
Map<String, dynamic> json = jsonDecode(response.body);
final Map<String, dynamic> contactJson = json['contact'];
return Transaction(
json['value'],
Contact(
0,
contactJson['name'],
contactJson['accountNumber'],
),
);
}