[dart] Dart에서 Fetch API 활용하기
Dart는 웹 애플리케이션에서 HTTP 요청을 보내고 응답을 받기 위해 Fetch API를 활용할 수 있습니다. Fetch API는 네트워크 요청을 생성하고 다루는 강력한 웹 표준이며, Dart에서도 쉽게 사용할 수 있습니다.
이번 포스트에서는 Dart에서 Fetch API를 활용하여 HTTP 요청을 보내고 응답을 처리하는 방법에 대해 알아보겠습니다.
1. HTTP 요청 보내기
Dart에서 HTTP 요청을 보내기 위해서는 dart:io
라이브러리의 HttpClient
클래스를 사용할 수 있습니다. 다음은 간단한 GET 요청을 보내는 예제 코드입니다.
import 'dart:io';
import 'dart:convert';
void main() async {
var httpClient = HttpClient();
var request = await httpClient.getUrl(Uri.parse('https://api.example.com/data'));
var response = await request.close();
if (response.statusCode == 200) {
var responseBody = await response.transform(utf8.decoder).join();
print(responseBody);
} else {
print('Failed to fetch data: ${response.statusCode}');
}
}
위 코드에서는 HttpClient
를 사용하여 GET 요청을 생성하고, close
메서드를 호출하여 요청을 완료합니다. 응답을 받은 후에는 상태 코드를 확인하고 응답 본문을 읽어옵니다.
2. JSON 데이터 처리하기
만약 받아온 응답이 JSON 형식이라면, dart:convert
라이브러리를 사용하여 JSON 데이터를 쉽게 처리할 수 있습니다. 다음은 JSON 응답을 처리하는 예제 코드입니다.
// 앞 부분은 이전과 동일
if (response.statusCode == 200) {
var responseBody = await response.transform(utf8.decoder).join();
var jsonData = json.decode(responseBody);
print(jsonData['message']);
} else {
print('Failed to fetch data: ${response.statusCode}');
}
}
위 코드에서는 받아온 JSON 응답을 json.decode
메서드를 통해 맵 형태로 변환한 후, 필요한 데이터를 추출하여 사용할 수 있습니다.
Dart를 사용하여 Fetch API를 활용하는 방법에 대해 간략히 살펴보았습니다. HTTP 요청을 보내고 응답을 처리하는 것 외에도, Fetch API를 사용하여 더 다양한 기능을 구현할 수 있으니 참고하시기 바랍니다.
더 자세한 내용은 Dart 공식 문서를 참조하세요.