ObjectType, InputType, ArgsType

roglog·2021년 3월 26일
0

@ObjectTypes()


  • @ObjectType()은 자동으로 스키마를 생성하기 위해 사용하는 graphql decorator임


@InputTypes()


  • @InputType()은 object를 통째로 전달할 수 있게 해줌
  • object arguments를 받아 graphql로 전달해 줌
  • InputType()은 resolver에서 부를 때 @Args('input')으로 해줘야 함
  • @InputType({isAbstract: true})은 InputType이 스키마에 포함되지 않기를 원한다는 뜻임

  • InputType을 사용하지 않았을 때
  cafe(
    @Args('coffee') coffee:string,
    @Args('milk') milk:string,
    @Args('water') water:string,
  ): boolean {
    return: true;
  }

  • InputType을 사용했을 때
  cafe(
    @Args('cafe') cafe:CafeDto,
  ): boolean {
    return: true;
  }



@ArgsType()


  • @ArgsType()은 분리된 값들을 graphql argument에 전달해줌

  • @InputType()과 달리 이름을 쓰지 않아도 되고 Object로 넘어오지도 않음

  • Ex)

  cafe(
    @Args() cafe:CafeDto,
  ): boolean {
    return: true;
  }
profile
Full Stack Developer 📚

0개의 댓글