인프런 커뮤니티 질문&답변

maker_suhyeon님의 프로필 이미지

작성한 질문수

[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter

네이버 API 사용을 위한 프로젝트 사전 개발

모델 객체에 대해

해결된 질문

24.06.14 21:34 작성

·

100

0

안녕하세요 개남님

NaverBookInfoResults객체나 다른 모델 객체들도 선언할때 null허용을 하는 이유가 뭔가요?

(?를 붙이는 이유)

사실 null이 있으면 안되지 않나요?


class NaverBookInfoResults extends Equatable{

    final int? total;
    final int? start;
    final int? display;
    final List<NaverBookInfo>? items;
}

답변 1

1

개발하는남자님의 프로필 이미지
개발하는남자
지식공유자

2024. 06. 15. 00:04

모델설계를할때 유연하게 설계를할필요가 있습니다

질문주신것처럼 원래 데이터에 null이 있으면안되지 안나라고 하셨는데 맞습니다 api로 전달받은 데이터는 null이 오면 안되겠죠 하지만 네트워트 통신이고 서버 상태에 따라 어떻게 데이터가 들어오게 될지 보장하기 어렵습니다. 또한 시간에 지남에 따라 api 스펙이달라짐으로인해 특정 field가 더이상 보내주지 않는다라고 한다면 이런 경우를 대비해 필드를 null 가능하게 설계하면 예상치 못한 오류를 방지할 수 있습니다

maker_suhyeon님의 프로필 이미지
maker_suhyeon
질문자

2024. 06. 15. 15:23

납득이됐습니다 ! 감사합니다