Flutter 앱은 자주 API와 통신합니다 — HTTP 요청을 보내고, JSON을 파싱하고, 응답/오류를 처리합니다. http 또는 dio 패키지, async/await, JSON 파싱을 사용하여 네트워킹은 대부분 앱의 핵심 부분입니다.
HTTP 요청 보내기
import 'package:http/http.dart' as http;
// GET 요청
Future<List<User>> fetchUsers() async {
final response = await http.get(Uri.parse('https://api.example.com/users'));
if (response.statusCode == 200) {
final List data = jsonDecode(response.body); // JSON 파싱
return data.map((json) => User.fromJson(json)).toList();
} else {
throw Exception('Failed to load users'); // 오류 처리
}
}
// POST 요청
await http.post(
Uri.parse('https://api.example.com/users'),
headers: {'Content-Type': 'application/json'},
body: jsonEncode({'name': 'Ann'}),
);
