inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

08-05 게시판 CRUD API

데코레이터가 잘 이해가 안갑니다.

해결된 질문

271

leejken530

작성한 질문수 8

0

 @Field 하면 어떠한 객체에 있는것에 있는 Field 를 가져다 쓸거야~ 라고 말하면서 그러한 함수를 불러오는 건가요?? ㄷ

javascript node.js docker rest-api nestjs

답변 1

0

노원두

안녕하세요! leejken530님!

데코레이터는 nestjs 자체에서 사용되는 데코레이터(ex, @Injectable())도 있고,
nestjs에서 mysql과 연동하여 사용되는 데코레이터(ex, @Column(), @Entity()) 도 있고,
nestjs에서 graphql과 연동하여 사용되는 데코레이터(ex, @Field(), @Mutation(), @Query())도 있답니다!

 

질문하신 내용을 보니 @Field()라는 데코레이터를 말씀하시는 것 같은데,
이 녀석은 nestjs에서 graphql을 연동할 때 필요하게 됩니다!

 

여기서 아래의 예시는 간단한 @Field() 데코레이터의 예시예요!

@Field(() => String)
name: string

 

위 코드는 graphql로 프론트엔드와 통신하여 데이터를 주고 받을 때, "name에는 String만을 담아서 주고받겠다!" 라는 의미가 되는 것이랍니다!
따라서, name에는 숫자 데이터를 담아서 프론트엔드와 주고 받을 수는 없겠죠?!^^

========================================================================

추가로, 수업때 진행했던 데코레이터(@) 직접 만들어보기에서 데코레이터(@)는 함수라는 것을 배우셨을 거예요.
따라서, @Field(() => String)는 graphql 라이브러리 만든 사람이 미리 만들어 놓은 함수가 되겠죠?!
따라서 위 함수에는 프론트엔드와 주고받을 name이 string 타입이 맞는지 검증하는 등의 로직이 들어있을 것 같네요!^^

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

82

2

강의 전체 소스 코드를 받고싶습니다.

0

75

2

fontawesome 사용 문의

0

75

2

소스 코드 부탁드립니다~

0

84

2

깃 레포지터리 소스

0

80

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

72

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

84

3

강의 버전관련 문의입니다

0

101

2

Ubuntu 설치 관련

0

60

1

schema.gql 질문 드립니다.

0

49

1

서버 재실행시 Many to Many

0

100

3

input 관련 문의

0

89

2

Rest API 보다는 graphql이 주된 내용인데

0

130

2

강의 전체 소스코드 받을수있을까요?

0

154

1

도커볼륨 마운트 관련

0

126

2

findOne 타입스크립트오류

0

108

1

http => htrtps 호출 인증서 신뢰 오류

0

348

1

self-signed certificate in certificate chain 에러 발생

0

410

1

mongoose 설치 오류

0

141

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

280

2

08-06

0

177

3

구조랑 패턴 관련해서 질문

0

123

2

mydocker

0

127

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

155

1