Graphql 미들웨어로 Create & Update 해보기
- Graphql을 사용해 Server - Client 간의 MiddleWare를 구성해보겠습니다.
- 본 글의 Graphql 환경은 node.js - Express.js를 통해 환경을 구성하겠습니다.
- Client 환경은 React를 통해 구성하겠습니다.
server.js
- Mutation : Create, Update 등 데이터 변경이 일어날 때 사용되는 Graphql을 정의합니다.
- submitPost : Create 역할을 하는 Graphql 입니다.
- updatePost : Update 역할을 하는 Graphql 입니다.
- rootValue: Create, Update 역할을 하는 메서드를 정의합니다.
- submitPost : POSTS array에 원래 없던 데이터를 insert하는 역할을 합니다.
- updatePost : 특정 id(index)에 데이터를 업데이트하는 역할을 합니다.
App.js
- onCreateClickHandler : Create 용 비동기 request 메서드입니다.
- graphqlCreate : return data가 출력됩니다.
- onUpdateClickHandler : Update 용 비동기 request 메서드입니다.
- graphqlUpdate : return data가 출력됩니다.
실행 화면
- graphql이 crud 의 중간 미들웨어로서 어떻게 동작할 수 있는지 공부해보았습니다.
- graphql은 db 혹은 엔드포이트와 client간의 미들웨어로써 중간에 필요한 동작을 해줄 수 있습니다.
출처:
- https://graphql.org/graphql-js/running-an-express-graphql-server/
- https://developer.okta.com/blog/2018/10/11/build-simple-web-app-with-express-react-graphql
git example :
- https://github.com/JongHyuckLee/graphqlStudy