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

[Dúvida] Erro ao tentar listar e null da data

Não consegui entender esse erro, nulo de String de onde? To com dificuldade de achar o erro. Aconteceu depois de eu tentar mudar o setState do refresh.

https://github.com/giseletoledo/flutter_webapi_first_course/tree/main/lib

Erros:

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'Null' is not a subtype of type 'String' E/flutter (14220): #0 new Journal.fromMap package:flutter_webapi_first_course/models/journal.dart:25 E/flutter (14220): #1 JournalService.getAll package:flutter_webapi_first_course/services/journal_service.dart:46 E/flutter (14220): E/flutter (14220): #2 HomeScreenState.refresh package:flutterwebapi_first_course/…/home_screen/home_screen.dart:56 E/flutter (14220): E/flutter (14220): D/EGL_emulation(14220): app_time_stats: avg=168151.59ms min=260.32ms max=336042.84ms count=2

2 respostas
solução!

Descobri o problema, eu não vi que o create_at tava diferente no fromMap e no Map, mudando a pergunta, porque em um tem underline e no outro não? Gostaria de entender melhor essas conversões, o to Map está transformando em objeto? Tem como ver se está preenchendo ou convertendo corretamente, porque foi esse o meu erro.

O problema é que grava no json, mas não encontrava o campo, porque no Map tava diferente de fromMap.

  Journal.fromMap(Map<String, dynamic> map)
      : id = map["id"],
        content = map["content"],
        createdAt = DateTime.parse(map["created_at"]),//era aqui
        updatedAt = DateTime.parse(map["updated_at"]);

  Map<String, dynamic> toMap() {
    return {
      "id": id,
      "content": content,
      "createdAt": createdAt.toString(),// aqui estava sem underline
      "updatedAt": createdAt.toString()
    };

Oi Gisele, tudo bem?

Desculpe a demora em retornar.

Fico feliz que você encontrou a solução. E muito obrigada por compartilhar a solução com a gente.

Um abraço e bons estudos.