Estou enfrentando um problema na função findAll() do webclient.dart.
Primeiramente tentei fazer igual a vídeo aula mas a IDE retorna um erro, pois a função get do http não pode ser mais preenchida apenas com a string.
Pesquisando um pouco aqui no fórum e no próprio Cookbook, verifiquei que deve-se utilizar os parametros Uri.http ou Uri.https
Quando coloco Uri.http me retorna uma mensagem que não é mais permitido no Flutter:
[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Bad state: Insecure HTTP is not allowed by platform:
Quando coloco Uri.https funciona o código mas não retorna dados:
I/flutter (10076): url: https://10.0.0.4:8080/transactions
I/flutter (10076): headers: {}
I/flutter (10076): body:
Tentei utilizar o ngrok sem sucesso, segue a função atual:
void findAll() async {
final Client client = HttpClientWithInterceptor.build(
interceptors: [LoggingInterceptor()],
);
final Response response =
await client.get(Uri.https('10.0.0.4:8080', 'transactions'));
print(response.body);
}
Verifiquei na documentação do Flutter uma possível solução adicionando no $project_path\android\app\src\debug\AndroidManifest.xml:
<application android:usesCleartextTraffic="true"/>
segue o link: https://flutter.dev/docs/release/breaking-changes/network-policy-ios-android
Alguma sugestão sem que seja necessário alterar o Android Manifest pessoal?