Dto
DTO(Data Transfer Object, 데이터 전송 객체)란 프로세스 간에 데이터를 전달하는 객체를 의미.
Dto의 필요성
- Model Class 는 non-nullable 한 값만 가지고 있는 것이 좋음
- Json 데이터는 null 값을 포함할 수 있음 (문서에 명시되어 있지 않더라도…)
- Map -> Model Class 변환시 null 값 등의 예외를 사전에 걸러내기 용이함
- 불완전한 코드가 포함될 것 같다면 Dto를 도입하자
- Json 값에 예외가 없다면 반드시 Dto를 도입할 필요는 없다.
Dto정리
- Dto 는 json to dart 플러그인 활용하여 nullable 을 담도록 만든다.
- Model Class 는 꼭 필요한 내용만 직접 JsonSerialization 등의 라이브러리를 사용하여 만든다. (또는 ChatGPT)
- Dto to 모델 클래스가 되는 메서드를 작성하고 활용한다.
- extension 등을 활용 (https://dart.dev/language/extension-methods)