반응형
GraphQL이란 당신의 API를 위한 쿼리 언어이자, 당신이 필요로 하여 만든 데이터 타입을 쿼리 형태로 실행 실행시킬 수 있는 서버사이드 런타임이다. 쿼리 언어라고 하는데 데이터베이스에서 사용하는 쿼리 언어와 서버-클라리언트(GraphQL)에서 사용하는 쿼리 언어로써는 다르다.
GraphQL은 데이터베이스나 플랫폼에 종속되어 있지 않는 것이 특징이다. GraphQL을 사용하면 빠르게 API를 만들어(restful api 대체) 웹 백단을 구성할 수 있다. GraphQL은 개발자가 필요로 하는 타입을 만들며, 타입에 따른 함수를 만들어 호출 할 수 있다.
아래의 예시를 보자.
1. 개발자가 필요로 하는 타입을 생성 (me를 호출 시 User 반환, User를 호출 시 name을 반환)
type Query {
me: User
}
type User {
id: ID
name: String
}
2. 각각 타입에 맞는 함수를 생성 (개발자는 1번과 같이 타입을 만들고 필요로 하는 아래와 같이 쿼리를 직접 만들어 호출할 수 있게끔 만든다.)
function Query_me(request) {
return request.auth.user;
}
function User_name(user) {
return user.getName();
}
3. 위에서 만든 타입인 me호출 해보자
{
me {
name
}
}
4. 호출한 결과는 아래와 같다.
{
"me": {
"name": "Luke Skywalker"
}
}
위와 같은 내용으로 공식 문서에 설명이 되어 있지만, 다음화에는 GraphQL과 Prisma를 활용하여 API를 직접 만들어 보자. 어떻게 하면 활용하는지에 대해서 학습을 하며 GraphQL을 이해 해보자.
* 서버사이드란?
클라이언트-서버 네트워크 구조에서 서버 쪽에서 행해지는 처리를 말한다.
* 학습 페이지
반응형
'Programming > JavaScript' 카테고리의 다른 글
[React Native] Unable to resolve react-native-safe-area-context 에러 (0) | 2020.02.19 |
---|---|
[js] prisma란? 초기 세팅 및 테스트 쿼리 (0) | 2020.01.13 |
[JS] SyntaxError: Unexpected identifier 에러(es6) (0) | 2019.08.11 |
[JS] js에러, [nodemon] app crashed - waiting for file changes before starting... (0) | 2019.03.18 |
[JS] javascript 의 객체 개념 (0) | 2019.01.08 |