
PostgreSQL 데이터베이스 및 마이크로 서비스에 연결 한 후 자동으로 GraphQL API 백엔드를 빌드 할 수있는 오픈 소스 엔진Restful API에서는 프론트엔드에서 필요로 하는 정말 간단한 데이터베이스 CRUD라도 백엔드가 API로 만들어 주기까지 대기해야 한다는 단점이 있음get (예시: /info) 에서 이름과 전화번호만 필요로 하다가 어느 날에 회사명도 필요로 하다면 백엔드가 다시 수정해 줘야 한다는 번거로움이 있음GraphQLGraphQL을 명령어로 프론트엔드에서 스스로 주도적으로 원하는 정보를 가져다 쓸 수 있게 만들어줌mutation과 query로 CRUD를 만들어 줘야 한다는 단점이 존재HASURAGraphQL을 통해서 요청을 하면 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연동 기능