[flutter] 플러터 build_runner를 사용하여 인터페이스 생성하기
플러터(Flutter) 앱을 개발하는 과정에서 데이터 모델의 코드를 자동으로 생성하거나 JSON 직렬화 등의 작업을 할 때 build_runner를 사용할 수 있습니다. 이번 포스트에서는 build_runner
를 활용하여 데이터 모델의 인터페이스를 생성하는 방법에 대해 알아보겠습니다.
1. 프로젝트 설정
먼저, pubspec.yaml
파일에 build_runner
와 json_serializable
라이브러리를 추가합니다.
dev_dependencies:
build_runner: ^2.1.5
json_serializable: ^5.0.0
# 다른 의존성들...
의존성을 추가한 후 터미널에서 flutter pub get
명령을 통해 이를 적용합니다.
2. 데이터 모델 생성
다음으로, 데이터 모델을 생성합니다.
import 'package:json_annotation/json_annotation.dart';
part 'user.g.dart';
@JsonSerializable()
class User {
final String name;
final int age;
User({required this.name, required this.age});
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
Map<String, dynamic> toJson() => _$UserToJson(this);
}
3. 코드 생성
터미널에서 다음 명령어를 실행하여 코드를 자동으로 생성합니다.
flutter pub run build_runner build
이렇게 하면 user.g.dart
파일이 생성됩니다.
part of 'user.dart';
User _$UserFromJson(Map<String, dynamic> json) {
return User(
name: json['name'] as String,
age: json['age'] as int,
);
}
Map<String, dynamic> _$UserToJson(User instance) => <String, dynamic>{
'name': instance.name,
'age': instance.age,
};
결론
build_runner
를 활용하여 플러터 앱의 데이터 모델에 대한 인터페이스 코드를 자동으로 생성할 수 있습니다. 이를 통해 개발자는 더 간편하게 데이터 모델을 관리하고 유지보수할 수 있습니다.
더 많은 자세한 내용은 공식 문서를 참고할 수 있습니다.