1. GraphQL이란?

목적 : 웹 클라이언트가 필요한 데이터를 서버로 부터 효율적으로 가져오는 것을 목표를 가진다.

Flow

클라이언트 → GraphQL-kotlin-server(/graphql or /playground) → spring boot → database

서버사이드 gql 어플리케이션은 gql로 작성된 쿼리를 입력으로 받아 쿼리를 처리한 결과를 다시 클라이언트로 돌려준다.

gql도 REST API처럼 특정 DB나 플랫폼에 종속적이지 않은 것처럼 동일하게 종속적이지 않다. 심지어 네트워크 방식도 종속적이지 않다.

2. REST와 RESTful이란?

1. REST란?

즉, 자원(Resource)의 표현(representation)에 의한 상태(Data) 전달을 의미한다.

자원(Resource)의 표현(representation)

상태(정보) 전달

모든 Resource들을 각각의 Endpoint에 연결해놓고, 각 Endpoint는 연결된 Resource와 관련된 내용만 관리하게 하자는 방법론을 말한다.