[dart] HTTP 요청 시에 요청/응답 데이터 유효성 검사하기

아래는 Dart에서 HTTP 요청과 응답 데이터를 유효성 검사하는 방법에 대한 예시입니다.

요청 데이터 유효성 검사하기

import 'dart:convert';

Map<String, dynamic> validateRequestData(Map<String, dynamic> requestData) {
  if(requestData.containsKey('username') && requestData.containsKey('password')) {
    return requestData;
  } else {
    throw Exception('Invalid request data');
  }
}

응답 데이터 유효성 검사하기

import 'dart:convert';

Map<String, dynamic> validateResponseData(String responseData) {
  try {
    Map<String, dynamic> parsedData = jsonDecode(responseData);
    if(parsedData.containsKey('status') && parsedData.containsKey('message')) {
      return parsedData;
    } else {
      throw Exception('Invalid response data');
    }
  } catch (e) {
    throw Exception('Failed to parse response data');
  }
}

위의 예시에서는 요청 데이터와 응답 데이터의 유효성을 각각 validateRequestDatavalidateResponseData 함수를 통해 검사하고 있습니다. DartjsonDecode 함수를 사용하여 JSON 형식의 응답 데이터를 Map으로 파싱하고, 이후에 검증을 수행하고 있습니다.

참고문헌: