On this page
8. GraphQL
마지막 시간에는 API를 위한 새로운 쿼리 언어인 GraphQL에 대해 알아봅시다!
양이 조금 많을수도 있어요 😂
공부할 내용 📚
1. GraphQL이 무엇일까요?
GraphQL은 **‘API를 위한 쿼리 언어’**라는 이름과 같이, 기존의 REST API를 대체할 수 있는 새로운 쿼리 언어입니다.
지금까지 REST API에 적응하고 있었는데.. GraphQL이라는 새로운 언어를 도대체 왜 배워야할까요?
GraphQL이 무엇인지, 그리고 그 장단점에 대해서 알아봅시다.
- GraphQL 개념
- GraphQL 개념잡기: GraphQL의 개념에 대해서 잘 설명한 블로그입니다.
- GrpahQL 소개: 공식 홈페이지의 ‘소개’ 부분입니다. 짧으니 주의하기!
- GraphQL 장단점
- GraphQL vs REST: GraphQL과 REST API가 어떻게 다른지 설명합니다.(영어 주의)
- GraphQL 도입시 주의할 점: 장단점에 어떨때 도입하면 좋을지 설명합니다.
- GraphQL 단점과 대안
- GraphQL 실사용 예제
- Naver Deview 2023 ‘GraphQL 잘 쓰고 계신가요?’: 네이버 MY플레이스에서 어떻게 GraphQL을 사용하고 있는지, 왜 선택했는지에 대해서 설명한 Deview 영상입니다.
- Naver Deview 2020 ‘GraphQL API 까짓것 운영해보지 뭐’: 이번에는 GraphQL의 기본 개념, 그리고 어떻게 운영하는지에 초점을 맞춰 소개합니다.
- Naver Deview 2021 ‘Domain Graph Service를 활용한 광고 서비스의 GraphQL API 구현 사례’: 여기에서는 Spring Boot를 사용하는 백엔드 개발자의 관점에서 GpraphQL를 도입한 사례를 소개합니다. 프레임워크는 다르지만, 느낌 점 위주로 보시면 얻어가는 점이 있을거에요.
- 참고로, GraphQL Conf도 매년 열린답니당!
- 얄팍한 GraphQL과 Apollo(인프런): GraphQL에 대해서 소개하는 무료 인프런강의입니다. 잘 이해가 되지 않으신다면 보시는 걸 추천해요!
2. Nestjs & GraphQL
이제 GraphQL의 개념에 대해서는 이해가 조금 되시나요?
그런데… Nestjs에서는 어떻게 이러한 GraphQL을 구현할까요…? 더 자세히 알아봅시다!
- 어떻게 구현하는지 살펴보기 이전에, GraphQL 사용법에 대해서 더 자세히 알아봐요!
- Nestjs에서 어떻게 GpraphQL을 사용해 디자인할 수 있는지 살펴봐요.
- Code first vs Schema first: GraphQL을 사용하는 방법은 크게 두 가지가 있습니다. 두 방식의 개념 및 차이점에 대해 알아봅시다.
- 코드당 프로젝트에서는 현재 Code first의 방식을 사용하고 있습니다. 😆
- 공식 Nestjs & GraphQL: Nestjs에서 어떻게 GraphQL을 사용하는지 소개합니다.
- Nestjs docs에 GraphQL 챕터가 많은데요, Quick Start 부분만 확인해주세요!
- Code first vs Schema first: GraphQL을 사용하는 방법은 크게 두 가지가 있습니다. 두 방식의 개념 및 차이점에 대해 알아봅시다.
프로젝트 실습 🎈
이번 주차는 저번 주차에서 만들었던 REST API 기반의 Nest.js 웹서버를 GraphQL 기반 웹서버로 옮기는 것입니다. 😇
이때, Code First approach를 사용해서 진행해주세요! 😍
- Nestjs Quick Start 부분을 참고해서 진행하시면 쉬울거에요!
- 만약 어떻게 하실지 막막하시다면 Nestjs Graphql Code first example의 코드 예제를 참고해주세요!