목록GraphQL (5)
차근차근

1. 참고 https://www.apollographql.com/docs/react/data/queries/ Queries Fetch data with the useQuery hook www.apollographql.com 2. update 1. polling 방식 쿼리가 일정 주기마다 실행되도록 하여 서버와 실시간에 가까운 동기화를 제공한다. 쿼리에 대한 polling을 활성화하려면 pollInterval 옵션을 설정해준다. 2. refetching 방식 polling 방식처럼 일정 간격으로 update를 하지 않고 특정 사용자 액션에 대한 응답으로 쿼리 결과를 refetch 해준다. refetch 를 refreshControl과 함께 사용하면 다음과 같다. 결과적으로, 화면을 아래로 당겨 새로고침하면..

0. Delete Mutation movie를 지우는 Mutation을 작성해보겠다. 먼저 resolvers.js를 다음과 같이 작성한다. deleteMovie는 Boolean형을 return 하도록 설정했으므로 schema.graphql을 다음과 같이 작성한다. 아래는 전에 작성했던 db.js중 deleteMovie 내용이다. playground를 보자. 위와 같이 실행을 한 후 다시 movie query를 보면 다음과 같이 id가 3인것이 사라진 것을 볼 수 있다. 위 과정까지 한 것은 영화 정보를 받을 때 Query를 하였고 Database의 상태를 바꾸기 위해서 Mutation을 하였다. server를 다시 껐다 키면 movies는 원래 상태로 돌아갈 것이다. 왜냐하면 이것은 memory에 있는 ..

0. Defining Mutations & Creating Mutations 영화를 몇개의 모의데이터로 만들어 놓았다. 지난 포스팅에 했던 것과 비슷하게 getById함수를 구현하였다. 모의 데이터 배열을 반환해주는 getMovies라는 함수도 다음과 같이 구현하였다. 다음으로, 영화를 삭제하는 deleteMovie를 구현해보겠다. id를 argument로 받고 그 id를 사용하여 delete를 할 것이다. 원리는 같은 id를 가지지 않은 movie의 배열을 만들 것이다. cleanedMovies는 같은 id를 가지지 않은 movie들을 담아놓는다. movies배열의 길이가 cleanedMovies배열의 길이보다 길면 movies = cleanedMovies 를 수행하고 true를 반환한다. 이제 sch..

0. Extending the Schema GraphQL Playground는 다음과 같다. 왼쪽 : Query를 보냈고 Query에는 name을 넣었다. 오른쪽 : GraphQL이 내 서버에서 Query에 맞는 Resolvers를 찾는다. 그래서 GraphQL Playground는 뭘까? Playground는 graphql-yoga에 따라오는 건데 나의 Database를 테스트하게 해주는 것이다. 그게 playground가 하는 일의 전부이다. Query는 JSON data 같은 것이다.이것을 어디론가 보내야 하는데 그것을 POST라고 한다. Query들, Mutation들 모두 항상 POST로 보내야 한다. 왜냐하면, 서버가 받아야 하기 때문이다. 이제 좀 더 확장시킨 예를 보겠다. 다음과 같이 Ob..

0. GraphQL이란? Graph QL(이하 gql)은 Structed Query Language(이하 sql)와 마찬가지로 쿼리 언어이다. 하지만 gql과 sql의 언어적 구조 차이는 매우 크다. 또한 gql과 sql이 실전에서 쓰이는 방식의 차이도 매우 크다. gql과 sql의 언어적 구조 차이가 활용 측면에서의 차이를 가져왔다. sql은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것이 목적이고, gql은 웹 클라이언트가 데이터를 서버로 부터 효율적으로 가져오는 것이 목적이다. sql의 문장(statement)은 주로 백앤드 시스템에서 작성하고 호출 하는 반면, gql의 문장은 주로 클라이언트 시스템에서 작성하고 호출 한다. GraphQL은 Backend개발을 쉽게 만들어 준다. Pr..