반응형
소개
Flutter에서 API를 호출하여 데이터를 송수신하는 것은 애플리케이션 개발에서 중요한 부분 중 하나입니다. 이 블로그에서는 Flutter에서 HTTP 패키지를 사용하여 API를 호출하는 방법에 대해 알아보겠습니다. 구체적으로, http 패키지를 활용하여 API에 POST 요청을 보내고 응답을 처리하는 예제를 살펴보겠습니다.
1. http 패키지 설치
먼저, http 패키지를 Flutter 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 패키지를 추가하세요
dependencies:
http: ^1.1.0
버전 사용법은 아래 링크에서 확인 가능합니다.
2. 패키지 임포트
import 'dart:convert';
import 'package:http/http.dart' as http;
3. API 호출 함수 정의하기
주의할 점 :
- 서버로 부터 요청할 DTO 형식
- 비동기 처리
- 서버 url 확인
- 응답 코드에 따른 예외처리
Future<bool> saveTopic(TopicRequestDTO topicRequestDTO) async {
// API 엔드포인트 URL
String apiUrl = '$baseUrl/topic/save';
// 요청 데이터를 JSON 형식으로 변환
final String requestBody = jsonEncode(topicRequestDTO);
try {
// POST 요청 보내기
final response = await http.post(
Uri.parse(apiUrl),
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: requestBody,
);
// 응답 출력
print('API Response: ${utf8.decode(response.body.runes.toList())}');
// 응답 상태 코드 확인
if (response.statusCode == 200) {
// 성공적인 응답이면 true 반환
return true;
} else {
// 그 외의 경우에는 false 반환
return false;
}
} catch (e) {
// 오류 발생 시 에러 출력 및 false 반환
print(e);
return false;
}
}
4. 정의된 함수를 사용하기
주의할 점 :
- 비동기 처리
// 예시: saveTopic 함수 호출
bool isSaveSuccessful = await saveTopic(TopicRequestDTO(/* ... */));
if (isSaveSuccessful) {
// API 호출 성공 시 수행할 작업
print('Topic 저장에 성공했습니다.');
} else {
// API 호출 실패 시 수행할 작업
print('Topic 저장에 실패했습니다.');
}
마무리
이제 Flutter에서 API를 호출하는 기본적인 방법을 알아보았습니다. 실제 프로젝트에서는 에러 처리, 로딩 상태 관리 등을 추가하여 안정적이고 효율적인 API 호출을 구현할 수 있습니다!
'Flutter' 카테고리의 다른 글
[Flutter] 플러터 CocoaPods' output & CocoaPods could not find compatible versions for pod (1) | 2023.11.25 |
---|---|
[Flutter] 플러터 .env 파일로 API 키 관리하기 (1) | 2023.11.21 |
[Flutter] 플러터 비동기와 동기 프로그래밍의 이해와 활용 (1) | 2023.09.30 |
pub.dev (1) | 2023.07.26 |
[Flutter] mac - 플러터 설치 오류 Warning: dart on your path resolves to (0) | 2023.07.08 |