[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 요청 시에 해당 데이터를 전송할 수 있습니다.

참고 문헌: