bobstrange / nestjs-playground

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NestJS playground

Setup

Run mongodb

docker-compose up

Run server

npm run start:dev

Create endpoint

ObjectTypeを作る. クラスは@ObjectType()アノテーション フィールドはField()アノテーションをする

@ObjectType('Lesson')
export class LessonType {
  @Field(_ => ID)
  id: string

  @Field()
  name: string
  ...
}

Resolverを作る. クラスは@Resolver()アノテーション Queryは@Query()アノテーションで、引数は戻り値の型を返す関数をセットする (配列を返す場合は、型 [] ではなく、[型]とする) 引数を伴う場合は、@Args('引数名')で受け取れる(@Body(), @Params()などと同じ感じ)

@Resolver(_ => LessonType)
export class LessonResolver {
  @Query(_ => LessonType)
  lesson(
    @Args('id') id: string
  ) {
    return this.lessonService.getLesson(id)
  }
}
@Query(_ => [LessonType])
lessons() {
  return this.lessonService.getLessons()
}

Mutationは、@Mutation()アノテーションで、引数はQueryと同様戻り値の型を返す関数をセットする

@Mutation(_ => LessonType)
createLesson(
  @Args('createLessonInput') createLessonInput: CreateLessonInput
) {
  return this.lessonService.createLesson(createLessonInput)
}

About


Languages

Language:TypeScript 91.0%Language:JavaScript 9.0%