3
respostas

Não recebi a response do request

Após executar o findAll() os logs de request aparecem, mas o de response não. Depois de algum tempo log de erro é exibido no console:

webclient.dart

import 'package:http/http.dart';
import 'package:http_interceptor/http_interceptor.dart';

final String baseUrl = 'http://192.168.0.6:8080/';
// final String baseUrl = 'http://localhost:8080/';

class LoggingInterceptor implements InterceptorContract {
  @override
  Future<RequestData> interceptRequest({RequestData data}) async {
    print('Request');
    print('url: ${data.url}');
    print('headers: ${data.headers}');
    return data;
  }

  @override
  Future<ResponseData> interceptResponse({ResponseData data}) async {
    print('Response');
    print('headers: ${data.headers}');
    print('body: ${data.body}');
    print('status code: ${data.statusCode}');
    return data;
  }
}

void findAll() async {
  Client client = HttpClientWithInterceptor.build(
    interceptors: [
      LoggingInterceptor(),
    ],
  );

  final Response response = await client.get('${baseUrl}transactions');
}

main.dart

import 'package:bytebank/screens/dashboard.dart';
import 'package:flutter/material.dart';
import 'package:bytebank/http/webclient.dart';

void main() {
  runApp(BytebankApp());
  findAll();
}

class BytebankApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primaryColor: Colors.green[900],
        accentColor: Colors.blueAccent[700],
        buttonTheme: ButtonThemeData(
          buttonColor: Colors.blueAccent[700],
          textTheme: ButtonTextTheme.primary,
        ),
      ),
      home: Dashboard(),
    );
  }
}

Debug Console

Restarted application in 3.674ms.
I/flutter (14204): Request
I/flutter (14204): url: http://192.168.0.6:8080/transactions
I/flutter (14204): headers: {}
E/flutter (14204): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: SocketException: OS Error: Connection timed out, errno = 110, address = 192.168.0.6, port = 39916
E/flutter (14204):

No chrome, o retorno é o seguinte (http://192.168.0.6:8080/transactions):

[
    {
        "id": "c1c7bc51-30c8-4471-84dd-fcb75279020a",
        "value": 200.00,
        "contact": {
            "name": "gui",
            "accountNumber": 1000
        },
        "dateTime": "2021-03-26 14:25:36"
    }
]
3 respostas

Bom dia Henrique, tudo em cima? Desculpe a demora na resposta.

Olha esse erro não é no seu código, pode ficar tranquilo quanto a isso. O que acontece é que seu device está tendo problemas de conexão, pode ser que seu emulador não esteja conectado a internet ( verifica se o Wi-Fi ta ativado la na barra de cima) , ou que por algum motivo seu device está barrando o IP que vc colocou por algum firewall.

Sugiro inicialmente que você reinincie seu modem e sua máquina e teste(para mudar o IP ou para redefinir algum Firewall errôneo) , se não funcionar vamos ter que mudar algumas configurações na conectividade do seu emulador ( algo que não quero que faça a não ser como ultima opção)

Caso tenha curiosidade esse é o Link

Boa tarde, Kako. Tudo certo?

Reiniciei minha máquina e modem, mas o problema persiste. Não estou utilizando um emulador, estou usando um dispositivo real para o desenvolvimento.

É necessário realizar alguma configuração nele?

Bom, isso muda um pouco a perspectiva mas o problema ainda não deveria estar ai...

As coisas simples primeiro:

  • Seu Telefone tem que no mínimo estar conectado na mesma rede que seu computador que roda o servidor.
  • Verifique se você pode acessar os dados do servidor pelo navegador do seu telefone ( acho que foi isso que vc fez la em cima mas nao deu pra entender se foi no Chrome do PC ou do Celular)

Minhas Duvidas:

  • Esse log de erro que você mandou é o completo? Se não, pode me mandar o log completo de erro?
  • Qual a sua verão do Flutter e do Dart? ( para descobrir basta escrever flutter doctor no console.