javascript/node.js - Graphql(4)
-
Mutation 사용하기
Mutation 사용해보기 이전에는 스키마와 Resolver를 등록하여 단순하게 요청하고 받는 것을 해보았습니다. 이번에는 데이터의 변형(update, remove, add)이 있을 때 사용하는 Mutation을 사용해보겠습니다. 우선 graphql 파일에 정의 해야합니다. 정의 방법은 Query와 비슷합니다. type뒤에 Query대신 mutation을 사용해주면 됩니다. 그리고 쿼리과 같이 graphql에 명세했으면 Resolver에도 명세가 되어있어야합니다. 명세 방법도 별반 다르지 않습니다. 단순히 Resolver에 Query밑에 Mutation이라고 적은 뒤 graphql에 명세 해놓은 이름과 같은 이름을 키값으로 등록 하면 됩니다. 그럼 playground에서 실행시켜 보겠습니다. 변경 전 -..
2018.11.20 -
Schema와 Resolver 등록해서 사용해보기
Schema와 Resolver 만들어서 사용해보기 이전에 서버 기초적인 코드를 짰는데 실행시키니 Schema Not Defined라는 오류가 발생했습니다. Schema가 정의 되어 있지 않다는 뜻인데요. 이번에는 Schema를 등록시켜보고 그에 대응하는 Resolver를 등록하여 사용해보겠습니다. Schema에 명세 해놓은 것과 Resolver의 이름이 같아야합니다. 우선 Schema.graphql이라는 파일을 만들어서 typeDefs에 등록해줍니다. 그리고 schema.graphql을 켜봅니다, 그리고 쿼리 값 하나를 정의합니다. 오른쪽에 String은 이 쿼리의 반환타입이 String이라고 정의 해놓은 것입니다. 그 다음에는 Resolver.js(파일 이름은 상관없습니다.)를 만들어줍니다. 그리고 아..
2018.11.20 -
Graphql을 왜 해야할까요??
Graphql을 왜해야 할까요? 필자는 과거에 Rest Api를 사용하여 웹서버를 개발했었는데 공부를 하다보니 Graphql이라는 API를 알게되었고 사용하면서 알게된 RestApi보다 좋은 점을 적어보려고한다. 1. UnderFetching RestApi는 일반적으로 url을 통해서 요청을 하고 결과값을 반환한다. 하지만 만약에 웹이 처음에 켜지고 너무 많은 요청들이 들어오면 서버가 과부화 될 수 있다. 하지만 GraphQL에서는 단 한번의 요청만으로 페이지에 필요한 모든 데이터를 가져올 수 있습니다. 2. OverFetching RestApi에서는 예를 들어 유저의 정보를 가져오는데 get /users를 쓸겁니다. 근데 클라이언트는 이름만 필요하는데 /getNames를 하나 새롭게 만드는 것도 불편하..
2018.11.20 -
Graphql 시작하기
Graphql - node.js 시작하기 시작하기전 babel을 설정하여 es6문법을 사용할 수 있게해주세요. 그 후 https://github.com/prisma/graphql-yoga 이홈페이지에 접속하여 yarn add graphql-yoga 실행해주세요. 첫시작은 graphql-yoga에서 GraphQLServer를 호출하여 실행합니다. 이코드를 실행하면 Schema가 없다는 식으로 오류가 발생합니다. 다음시간에 Schema를 등록하여 코드를 실행시켜보겠습니다.
2018.11.19