반응형
니콜라스 강의를 참고했다.
아직 배우는 단계에서 복습을 위해 작성했기때문에 틀린내용이 있을 수 있습니다.
지적은 감사히 받겠습니다!
우선 화면부터 보면
query에 person의 하위 속성인 name을 보냈을때, "Nicolas"가 입력된다.
Query
이 파일은 Query 역할을 한다.
Query는 DB로 부터 정보를 얻어오는 역할을 한다.
//schema.graphql
type Nicolas {
name: String!
age: Int!
gender: String!
}
type Query {
person: Nicolas!
}
어떤 사용자가 Query에 person을 보내면 사용자에게 Nicolas 타입을 보낸다. 라는 내용이다.
Resolvers
이 파일은 resolvers의 역할을 한다. query를 resolve(해결)한다.
const nicolas = {
name: "Nicolas",
age: 18,
gender: "female",
};
const resolvers = {
Query: {
person: () => nicolas,
},
};
export default resolvers;
이 두 파일이 index.js에서 아래와 같이 모여 작동한다.
import { GraphQLServer } from "graphql-yoga";
import resolvers from "./graphql/resolvers";
// 위에 언급한 schema.graphql에서 사용자가 어떤걸 할지에 대해 정의한다.
// 그중 하나는 DB로 부터 정보를 얻는것. 이를 query라고 한다. 정보를 받을 때
// 정보를 DB로 보낸다. 이를 Mutation이라 한다. 정보를 바꾸는 작업.
// 우리가 GraphQL 서버에 할 건 어떤 Mutations 그리고 어떤 Query 들을 우리가 가졌는지 알려주는 것
const server = new GraphQLServer({
//typeDefs : 모든 타입들에 대한 정의
typeDefs: "./graphql/schema.graphql",
//query를 resolve(해결)한다.
resolvers,
});
server.start(() => console.log("GraphQL Server Running"));
localhost:4000에서 실험한 결과
쓰는 나도 내가 뭘 치는지 모르겠군
반응형
'개발 > GraphQL , Apollo' 카테고리의 다른 글
Apollo 공식문서 첫부분 (0) | 2022.01.22 |
---|---|
Apollo Client (0) | 2022.01.21 |
GraphQL Mutation은 CRUD중 CUD이다. (0) | 2022.01.21 |
GraphQL서버에서 특정값만 받아오기(필터링) (0) | 2022.01.21 |
GraphQL 공식문서 읽어지는 부분만 정리 (0) | 2022.01.21 |