inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

방향 좀 잡아주세요.

해결된 질문

243

앱프

작성한 질문수 8

0

강좌 잘 듣고 있습니다.

프로젝트를 진행하면서 듣고 있는거라서 부분적으로 보고 있는데.. 궁금한게 있어서 적어봅니다.

 

nest.sj + graphQL + prisma로 현재 구축을 하고 있는데.. 이 경우 controller보다 resolver를 사용하면 된다고 해서, controller없이 작업중입니다.

이게 맞는지 궁금합니다. 문서랑 강의를 보고 이해를 하고 작업중이기는 한데, 확신이 없어서요.. ^^;

 

프론트엔드와는 graphql로 정보를 주고 받으려고 했는데.. 외부 업체와의 연동 때문에 REST API도 필요하게 되었습니다. 그래서 graphql을 rest api로 노출하기 위해서 swagger를 사용하고 있는데..

여기 접근시 인증이나 이런게 필요 할까요?? 인증을 jwt로 해서 인증후 api에 접근하게만 해 주면 되는지 아니면 다른 방식으로 인증을 하는게 나은지.. 어떤 방법으로 구축을 해야 할지 확신이 없어서요..

 

아.. 그리고 GraphQLSchemaHost를 사용하면 graphQL이 rest api로 제대로 출력이 되는지도 궁금합니다.

잘 된다.. 아니면 좀 이상하게 출력되는 경우가 많다.. 정도의 답변만으로도 감사하겠습니다.. ㅡ.ㅜ;

 

아직 초반이기는 한데, 방향 좀 짚어주시면 감사하겠습니다..

그럼 디테일한 삽질은 강의 참조해서 제가 하겠습니다.. ㅎㅎ

javascript typescript rest-api nestjs backend

답변 1

0

코드팩토리

안녕하세요!

질문 내용을 봤을때 이미 꽤나 작업이 진행된 프로젝트로 생각이 됩니다.

지식에대한 질문이라면 제가 "이게 이렇기때문에 이렇게 해야한다"라고 말씀을 드릴수가 있지만 질문주신 부분들은 절대적으로 프로젝트 운영하는 사람과 프로젝트에 참여하는 인원들이 자유롭게 결정해야하는 부분들이라 말씀드리기 어렵습니다.

그리고 그렇기 때문에 제 생각엔 이미 내부적으로 결정난 부분들일거라고 생각됩니다. 저한테 물어보시는것보다 시니어한테 물어보시는게 좋은 답변을 얻으실걸로 보입니다.

일단 Yes or No 또는 명확히 답변드릴 수 있는 부분만 답변드리면

1) REST API의 Controller 개념은 GraphQL의 Resolver에 해당됩니다. (해당된다고 말하면 좀 웃기긴 합니다. 어차피 Controller라는게 REST API에서만 사용하는게 아니라 흔히 사용하는 패턴의 가장 앞단을 보통 controller라고 부릅니다)

2) "접근시 인증이 필요할까요?" -> private한 리소스를 접근한다면 당연히 필요하지 않을까 생각됩니다. 다만 private 리소스가 맞냐 아니냐는 제가 정해드릴만한 부분은 아닙니다.

3) 인증방식은 자유롭게 정하면 됩니다. 법으로 정해져있는게 아니고 장단점이 있습니다. "JWT로 해도되냐?"라고 질문을 하신다면 지금 제가 갖고 있는 정보론 "JWT로 해서 안될 이유는 없어보인다"라고 밖에 말씀 못드립니다.

4) GraphQLSchema는 말 그대로 GraphQL 스키마입니다. REST API랑 관련 없습니다.

일단 일반적으로 REST API를 GraphQL 앞에 두는 아키텍처는 잘 안가져갑니다. 보통 오히려 반대죠. 또는 GraphQL, REST API 따로가져가도 상관 없습니다. 이렇게되면 오히려 REST API 앞에 GraphQL을 두고 REST API는 따로도 사용 할 수 있는 일반적인(?) 아키텍처를 가져갈 수 있게 되죠. 하지만 뭔가 이유가 있으리라 생각됩니다.

도움이 됐기를 바랍니다.

감사합니다!

0

앱프

답변 감사합니다. 도움이 될거 같습니다.. ^^;

그럼 수고하세요.

cascade 질문

0

38

1

@types/bcrypt 설치과정이 누락된것같습니다.

0

45

1

process.env port key 에러

0

45

1

추상화

0

48

1

[공유] DTO optional 필드가 undefined로 잡혀 TypeORM 조건이 깨지는 현상

0

93

2

where 키워드가 들어가는 메서드와 아닌 메서드

0

56

1

BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유?

0

69

1

app.controller app.service 는 지워도되나요?

0

69

1

@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이

0

78

1

포트 3000에서 listen하는 곳까지 넘어가지 않습니다.

0

64

1

PickType 사용 시 `as const`를 꼭 사용해야 하나요?

0

102

2

socket connect 오류

0

96

2

강의를 들으면서 궁금한 점

0

97

2

DELETE 요청의 반환값은 어떤 기준으로 결정하는 게 좋을까요?

0

59

2

커리큘럼 질문

0

98

2

put 요청은 언제

0

90

3

typeorm VS prisma

0

343

2

142 강의 > 4:00 > 포스트멘 활용 관련 질문 드립니다.

0

76

2

User 데코레이터 버그 수정 전달드립니다.

0

67

1

git 주소 부탁드립니다.

0

112

2

nest g resource 명령어 에러

0

99

2

로그인 엔드포인트 관련 질문

0

84

2

yarn으로 express 다운 후 node 2_server.js 실행 안되는 경우

0

146

3

"흔히 사용되는 메서드" 강의 관련 질문입니다~

0

95

2