라이브러리가 아닌 언어 혹은 명세
다뤄보려면 구현체가 필요하다
https://moonhighway.com/public-graphql-apis
https://graphql.org/swapi-graphql
Star wars(swapi) clone해서 로컬에
https://github.com/graphql/swapi-graphql
스키마 Introspection
https://graphql.org/learn/introspection/
다양한 도구들 graphql graphql express... 등
쿼리는 요청,결과동일/ 주석/ 작업(타입,이름), 필드 객체 참조, 인자, 별칭
Fragment 반복되는 필드셋/ 변수 전달 가능
변수/ 지시어 동적쿼리 방법 @include @skip
https://graphql.org/learn/queries
https://grapql-kr.github.io/learn/queries
뮤테이션은 데이터를 바꾸기 때문에 제공하는 example을 찾아야함
Apollo graphql 다양한 기능이 추가된 라이브러리
뮤테이션 다중 필드 순차 실행(쿼리는 병렬)
Apollo graphql studio 좀 더 편리한 기능들을 준다.
query Query{users{id name timestamp}}
인라인 프래그먼트는 interface/ union일 때 사용
스키마 대부분의 타입은 일반 객체 타입
인터페이스는 특정 필드들을 포함하는 추상 타입
해당 인터페이스를 구현한 타입들이 가져야 할 필드 정의
Inline Fragments가 Interface나 Union 타입에서 쓰인다고 했었음
스칼라 타입은 구체적 데이터
https://www.apollographql.com/docs/ 보면 각종 클라이언트와 서버를 제공
$ npm install apollo-server graphql nodemon
https://www.apollographql.com/docs/tutorial/introduction/
https://github.com/apollographql/fullstack-tutorial
스키마는 프론트와 쉐어할 데이터 구조
https://www.apollographql.com/docs/tutorial/schema/
studio에 http://localhost:4000로 다시 세팅
https://www.apollographql.com/docs/tutorial/data-source/
https://www.apollographql.com/blog/backend/easy-and-performant-graphql-over-rest-e02796993b2b/
Sequelize
https://sequelize.org/
https://github.com/sequelize/sequelize
https://www.apollographql.com/docs/tutorial/resolvers/
Data나 Promise를 반환(parent, args, context, info)
페이지네이션은 서버 부하를 줄인다
페이지네이션 fetchMore/ 캐시 InMemoryCache
https://https://www.apollographql.com/docs/tutorial/resolvers/#define-other-resolvers
missionPatch(size:SMALL)
뮤테이션 리졸버는 로그인/예약
SQLite 데이터 추적됨
https://https://www.apollographql.com/docs/tutorial/client/
https://https://www.apollographql.com/docs/tutorial/mutations/
https://https://www.apollographql.com/docs/tutorial/mutations/#apply-the-usemutation-hook
https://https://www.apollographql.com/docs/tutorial/local-state/
로그인까지만..