Closed kangraemin closed 2 years ago
기술적인 상세한 내용( 구체적인 구현 방식 )은 따로 정리하지 않겠습니다.
구체적인 구현 방식은 각 기술의 공식 홈페이지를 참조 해주시고, 아래의 내용은 제가 공부 했던 내용들을 확인 할 수 있는 링크들 입니다. 참고 부탁드립니다.
Notion : https://www.notion.so/API-3b18f38bc62545a1994ceafd2165551f
NodeJS GraphQL ( using graphql-yoga ) : https://github.com/kangraemin/NodeJS-GraphQL-Study
Django GraphQL ( using Graphene-Django ) : https://github.com/kangraemin/Django-GraphQL-Study
Django REST ( using DRF ) : https://github.com/kangraemin/Django-REST-Study
장고를 서버 프레임워크로 이용 할 것이기 때문에, 장고 위주로 REST / GraphQL을 비교 하도록 하겠습니다.
개발의 편리함과 안정성을 위해 첫번째 api 배포 ( api version 1 )에서는 DRF를 사용 하되, Over / Under fetching문제가 계속해서 대두된다면 GraphQL을 v2로 도입하도록 하겠습니다.
Apollo는 클라이언트 측에서 GraphQL 통신을 편하게 해주는 라이브러리입니다.
GraphQL이 필요하여 도입 할 시에 정리하도록 하겠습니다.
구현해야할 API 리스트는 이슈 / 문서를 따로 만들어 관리하겠습니다.
이슈 내용
API 서버를 구축하기 위한 통신 방법으로 GraphQL과 REST api를 학습하고, 통신 방법을 선택 해야 합니다.
해당 이슈에서는 API를 위해 REST api / GraphQL 중 어떠한 것을 선택 할 지 고민 / 학습 한 내용을 공유합니다.
추가적으로, Django에서 REST api를 위한 라이브러리인 DRF ( Django REST Framework ) 와 GraphQL을 위한 라이브러리인 Graphene / Ariadne 에 대해 학습한 것을 공유합니다.
다음 작업들이 진행되어야 합니다.