PostgreSQL
데이터베이스 및 마이크로 서비스에 연결 한 후 자동으로 GraphQL API
백엔드를 빌드 할 수있는 오픈 소스 엔진Restful API
에서는 프론트엔드에서 필요로 하는 정말 간단한 데이터베이스 CRUD라도 백엔드가 API
로 만들어 주기까지 대기해야 한다는 단점이 있음get
(예시: /info
) 에서 이름과 전화번호만 필요로 하다가 어느 날에 회사명도 필요로 하다면 백엔드가 다시 수정해 줘야 한다는 번거로움이 있음GraphQL
GraphQL
을 명령어로 프론트엔드에서 스스로 주도적으로 원하는 정보를 가져다 쓸 수 있게 만들어줌mutation
과 query
로 CRUD를 만들어 줘야 한다는 단점이 존재HASURA
GraphQL
을 통해서 요청을 하면 HASURA
는 SQL
문으로 바꿔서 연결된 데이터베이스에서 직접 데이터를 가져와서 반환해줌HASURA
가 대신 구현을 해주는 셈HASURA
의 강력한 점은 이메일 발송과 같이 CRUD에 해당하지 않는 기능을 원할 때에도 HASURA
가 지원하는 웹훅 트리거를 이용하여 즉각적으로 사용이 가능하다는 큰 장점이 있음Remote Schema
라는 웹 서버와 HASURA
연결 가능Remote Schema
는 기존의 컬럼과 realation
을 걸 수 있음payload
로 받고 +82 을 붙이고 0을 제거해서 +82 1012345678 이라는 값을반환 해주는 스키마를 만들어주면 이 function
을 연결 가능# 예시 쿼리
query{
person{
name
phone
international{ # remote schema에서 만든 schema
phone
}
}
}
Tip! 추가 내용
Haskell
기반의 가볍고 빠른 오픈소스GraphQL
엔진Postgres
지원
jsonb
타입 사용 가능- 강력한
Admin
기능
- 조회 • 추가 • 수정 • 삭제 화면 제공
- 인증 • 인가 • 이벤트 트리거 등 각종 기능 웹 콘솔 제공
- 강력한
Query
기능
- 기본
query
에 더해filter
,sort
,aggregate
,paginate
,distinct
지원
filter
: eq, neq, gt, lt, Ute, lte, in, min, like, contains, has_key, and, or, .. 지원aggregate
: count, sum, avg, max, min 지원- 강력한
Mutation
기능
insert
,update
,delete
외에upsert
지원
Upsert
:key
가 있으면update
하고 없으면insert
- 이벤트 트리거
JWT
기반 인증 & 인가Table View
연동 기능