이전에 했던것 처럼
chap-2-lesson-1 폴더에
dbtest.js 파일 생성
database.js와 동일선상에 놓는다
const database = require('./database')
console.log(database.equipments)
npm i
nodemon dbtester.js
하면 아래와 같이 equipments에 해당되는 obj들이 들어옴.
특정 team만 받아오기
args 로 주어진 id에 해당하는 team만 필터링하여 반환한다
Query: {
//...
team: (parent, args, context, info) => database.teams
.filter((team) => {
return team.id === args.id
})[0],
}
id를 인자로 받아 하나의 Team 데이터를 반환
type Query {
...
team(id: Int): Team
}
query {
team(id: 1) {
id
manager
office
extension_number
mascot
cleaning_duty
project
}
}
mutation은 뭔가를 변경시키는것
query는 요청하는것, 그리고 mutation은 데이터에 내가 어떤 수정을 가하는것.
resolver를 어떻게 짜느냐에 따라서 데이터를 수정할 수 있고, mutation도 마찬가지로 정보만 가져올 수 있도록 짤수 있다.
하지만 rest api에서도 각 요청마다 약속된 역할이 있는것처럼, 쿼리와 뮤테이션 역시 개발자들간의 합의된 명세라고 보면 되겠습니다
그래서 어떤 정보들을 받아올때는 쿼리를. 그리고
해당 정보들을 추가하고 수정 또는 삭제할때 mutation을 사용하는거죠 !