graphQL[2] Query 구현하기

susu.J·2021년 6월 25일
0

이전에 했던것 처럼

chap-2-lesson-1 폴더에
dbtest.js 파일 생성
database.js와 동일선상에 놓는다

const database = require('./database')
console.log(database.equipments)

npm i
nodemon dbtester.js

하면 아래와 같이 equipments에 해당되는 obj들이 들어옴.

조건을 줘서 특정 query받아오기

특정 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
}
}

Mutaition 구현하기

mutation은 뭔가를 변경시키는것
query는 요청하는것, 그리고 mutation은 데이터에 내가 어떤 수정을 가하는것.

resolver를 어떻게 짜느냐에 따라서 데이터를 수정할 수 있고, mutation도 마찬가지로 정보만 가져올 수 있도록 짤수 있다.
하지만 rest api에서도 각 요청마다 약속된 역할이 있는것처럼, 쿼리와 뮤테이션 역시 개발자들간의 합의된 명세라고 보면 되겠습니다
그래서 어떤 정보들을 받아올때는 쿼리를. 그리고
해당 정보들을 추가하고 수정 또는 삭제할때 mutation을 사용하는거죠 !

profile
on the move 👉🏼 https://sjeong82.tistory.com/

0개의 댓글