출력 타입
@ObjectType과 @Field nullable 옵션은 클라이언트가 기대할 수 있는 응답 형태를 결정합니다.
리졸버 계약
ObjectType, InputType, Args, Query, Mutation, Subscription을 설계할 때 nullability와 relation resolver의 비용을 함께 봅니다.
@ObjectType과 @Field nullable 옵션은 클라이언트가 기대할 수 있는 응답 형태를 결정합니다.
@InputType은 mutation 요청 전용으로 만들고 엔티티 노출 필드와 분리합니다.
@Query와 @Mutation은 service 호출만 남기고 비즈니스 규칙은 service에 둡니다.
@ResolveField는 편하지만 relation마다 DB를 호출하면 DataLoader가 필요합니다.