Bom dia pessoal. Fiz o código identico ao apresentado, levantei o servidor, rodei os comandos de permissão da aula anterior. O servidor json roda normalmente, até quando eu abro ele pelo navegador aparece o registro do GET no log do terminal. Porém quando rodo o aplicativo ele não consegue fazer o POST e nem o GET. A única diferença que notei é que estou usando a IDE do Android Studio. Alguém mais passou por isso?
main.dart
import 'package:flutter/material.dart';
import 'package:flutter_webapi_first_course/services/journal_service.dart';
import 'package:google_fonts/google_fonts.dart';
import 'screens/home_screen/home_screen.dart';
void main() {
print('Iniciando');
runApp(const MyApp());
JournalService service = JournalService();
service.register("Olá mundo!");
service.get();
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Simple Journal',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.grey,
appBarTheme: const AppBarTheme(
elevation: 0,
backgroundColor: Colors.black,
titleTextStyle: TextStyle(
color: Colors.white,
),
),
textTheme: GoogleFonts.bitterTextTheme()
),
darkTheme: ThemeData.dark(),
themeMode: ThemeMode.light,
initialRoute: "home",
routes: {
"home": (context) => const HomeScreen(),
},
);
}
}
journal_service.dart
import 'package:http/http.dart' as http;
class JournalService {
static const String url = "http://192.168.XXX.XXX:3000/";
static const String resource = "learnhttp/";
String getURL() {
return "$url$resource";
}
//TODO: Substituir getURL por getURI
void register(String content) {
http.post(Uri.parse(getURL()), body: {'content': content});
}
void get() async {
http.Response response = await http.get(Uri.parse(getURL()));
print(response.body);
}
}
db.json
{
"learnhttp" : {}
}
pubspec.yaml
name: flutter_webapi_first_course
description: Projeto do primeiro curso de WebAPI da Formação Flutter
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ">=2.17.1 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
uuid: ^3.0.6
google_fonts: ^3.0.1
http: ^0.13.4
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0
flutter:
uses-material-design: true