데코레이터가 잘 이해가 안갑니다.
@Field 하면 어떠한 객체에 있는것에 있는 Field 를 가져다 쓸거야~ 라고 말하면서 그러한 함수를 불러오는 건가요?? ㄷ
답변 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





