GraphQL 4

[GraphQL] Query & Mutation

Query 구현 - Code Query : 데이터 조회 Mutation : 데이터 추가, 수정, 삭제 Query 루트 타입 type Query { teams: [Team] } 자료요청에 사용될 쿼리들을 정의 쿼리 명령문마다 반환될 데이터 형태를 지정 Type type Team { id: Int manager: String office: String extension_number: String mascot: String cleaning_duty: String project: String } 반환될 데이터의 형태를 지정 자료형을 가진 필드들로 구성 Resolver const resolvers = { Query: { teams: () => database.teams } } Query란 object의 항목들로 ..

GraphQL 2022.12.26

[GraphQL] Apollo 서버 구축

Apollo 서버 구축 npm i graphql apollo-server # ApolloServer # - typeDef와 resolver를 인자로 받아 서버 생성 # typeDef # - GraphQL 명세에서 사용될 데이터, 요청의 타입 지정 # - gql(template literal tag)로 생성 # resolver # - 서비스의 액션들을 함수로 지정 # - 요청에 따라 데이터를 반환, 입력, 수정, 삭제 설치 npm i graphql apollo-server Code const database = require('./database') const { ApolloServer, gql } = require('apollo-server') const typeDefs = gql` type Query ..

GraphQL 2022.12.26

[GraphQL] GraphQL & Apollo

GraphQL GraphQL의 장점 1. 필요한 정보들만 선택하여 받아올 수 있음 - Overfetching 문제 해결 - 데이터 전송량 감소 2. 여러 계층의 정보들을 한 번에 받아올 수 있음 - Underfetching 문제 해결 - 요청 횟수 감소 3. 하나의 endpoint에서 모든 요청을 처리 - 하나의 URI에서 POST로 모든 요청 관리 실습 - Code 환경 설정 # 프로젝트 모듈 설치 npm i # 프로젝트 실행 명령어 (해당 프로젝트 폴더에서) nodemon index.js # 브라우저에서 localhost:4000 으로 확인 팀 정보 받아오기 query { teams { id manager office extension_number mascot cleaning_duty project ..

GraphQL 2022.12.26

[GraphQL] REST API 한계와 GraphQL 사용 이유

REST API 소프트웨어 간 정보를 주고받는 방식 GraphQL 이전부터 사용 GraphQL은 '다른' 방식 - 용도와 작업특성에 따라 적합한 것을 사용하기 위해 Data [ { name: '30분짜장', category: 'chinese', tel: '##-####-####', rating: 4.6 }, { name: '피자파자마', category: 'italian', tel: '##-####-####', rating: 3.9 }, { name: '공중떡볶이', category: 'snack', tel: '##-####-####', rating: 4.9 }, ///... ] REST API는 데이터를 주고받을 주체들간 약속된 형식 URI 형식(어떤 정보를) + 요청 방식(어떻게 할 것인가)요청 형식..

GraphQL 2022.12.26