query {
teams {
id
manager
office
extension_number
mascot
cleaning_duty
project
}
}
query {
teams {
manager
office
}
}
query {
team(id: 1) {
manager
office
}
}
query {
team(id: 1) {
manager
office
members {
first_name
last_name
}
}
}
query {
teams {
manager
office
mascot
}
roles {
id
requirement
}
}
mutation {
postTeam (input: {
manager: "John Smith"
office: "104B"
extension_number: "#9982"
mascot: "Dragon"
cleaning_duty: "Monday"
project: "Lordaeron"
}) {
manager
office
extension_number
mascot
cleaning_duty
project
}
}
mutation {
editTeam(id: 2, input: {
manager: "Maruchi Han"
office: "105A"
extension_number: "2315"
mascot: "Direwolf"
cleaning_duty: "Wednesday"
project: "Haemosu"
}) {
id,
manager,
office,
extension_number,
mascot,
cleaning_duty,
project
}
}
mutation {
deleteTeam(id: 3) {
id,
manager,
office,
extension_number,
mascot,
cleaning_duty,
project
}
}
필요한 정보들만 선택하여 받아올 수 있다.
- overfetching 문제 해결
- 데이터 전송량 감소
여러 계층의 정보들을 한 번에 받아올 수 있다.
- underfetching 문제 해결
- 요청 횟수 감소
하나의 endpoint에서 모든 요청을 처리
- 하나의 URI에서 POST로 모든 요청 가능