[dart] HTTP 요청 시에 데이터 직렬화하기
아래는 Dart에서 JSON 형식의 데이터를 직렬화하여 HTTP 요청으로 전송하는 예제입니다.
우선, http
패키지와 dart:convert
라이브러리를 가져옵니다.
import 'package:http/http.dart' as http;
import 'dart:convert';
다음으로, JSON 데이터를 직렬화하고 HTTP POST 요청을 보내는 함수를 작성합니다.
Future<void> postData(Map<String, dynamic> data) async {
var url = Uri.parse('https://example.com/api');
var jsonData = json.encode(data);
var response = await http.post(
url,
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: jsonData,
);
if (response.statusCode == 200) {
print('데이터 전송 성공: ${response.body}');
} else {
print('데이터 전송 실패: ${response.statusCode}');
}
}
위 예제에서 json.encode(data)
를 사용하여 Map
이나 다른 형식의 데이터를 JSON 문자열로 직렬화하고, http.post
함수를 통해 해당 데이터를 HTTP 요청의 본문으로 전송합니다. 요청이 성공하면 성공 응답 코드를 받을 수 있습니다.
이와 같이 Dart에서는 dart:convert
라이브러리를 활용하여 데이터를 JSON 또는 다른 형식으로 직렬화하고, HTTP 요청 시에 해당 데이터를 전송할 수 있습니다.
참고 문헌:
- https://dart.dev/guides/libraries
- https://pub.dev/packages/http
- https://api.dart.dev/stable/2.14.4/dart-convert/dart-convert-library.html