[초보자] 하스라를 사용해 보았습니다
4891 단어 GraphQL
REST는 세세하게 누구나 직관적으로 알 수 있도록 엔드포인트를 나누게 하는 사고방식이지만, 여러가지 테이블의 데이터를 사용하고 싶을 때에 의외로 불편. 가져온 데이터를 바탕으로 한 번 더 GET하고,,,
한편, GprahQL을 사용하면 엔드포인트를 하나로 하는 대신에, 쿼리를 json과 같이 취급할 수 있으면서 여러가지 테이블의 데이터를 한번에 취득할 수 있다.
이번에는 그런 graphQL과 SQL을 자동으로 변환 해주는 Hasura라는 API 서버를 사용해 보았습니다.
공식 문서
htps // //조차. 이 / cs / 1.0 / g 등 phql / 이것 / 왜 x. HTML
설정
처음부터 시작하는 방법은 다음 두 가지입니다.
이번에는 Docker를 사용한 예를 보여줍니다.
1. 새 디렉토리에서 다음 명령 중 하나를 실행하여 docker-compose 파일을 얻습니다.
wget https://raw.githubusercontent.com/hasura/graphql-engine/stable/install-manifests/docker-compose/docker-compose.yaml
# or
curl https://raw.githubusercontent.com/hasura/graphql-engine/stable/install-manifests/docker-compose/docker-compose.yaml -o docker-compose.yml
docker-compose의 내용은 이렇게 되어 있습니다.
docker-compose.yml
version: '3.6'
services:
postgres:
image: postgres:12
restart: always
volumes:
- db_data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: postgrespassword
graphql-engine:
image: hasura/graphql-engine:v1.3.1
ports:
- "8080:8080"
depends_on:
- "postgres"
restart: always
environment:
HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:postgrespassword@postgres:5432/postgres
## enable the console served by server
HASURA_GRAPHQL_ENABLE_CONSOLE: "true" # set to "false" to disable console
## enable debugging mode. It is recommended to disable this in production
HASURA_GRAPHQL_DEV_MODE: "true"
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
## uncomment next line to set an admin secret
# HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey
volumes:
db_data:
2. 시작
특히 변경할 필요가 없으면 그대로 기동시킵니다.
docker-compose up -d
3. Hasura 콘솔 확인
잘 시작하면 http://localhost:8080/console 에서 다음과 같은 화면이 표시됩니다.
데이터를 등록하고 쿼리를 던져
1. 테이블 만들기
조속히 테이블을 만들어갑니다.
이번에는 graphQL의 굉장함을 실감하기 위해서, 메인 테이블과 그 테이블의 아이 테이블을 작성합니다. (REST이라면 메인 테이블에서 가져온 데이터를 바탕으로 새롭게 GET 할 필요가 있지만, graphQL은 한 번에 취할 수 있는 곳이 대단하다)
Create Table 버튼을 클릭하십시오
2. 테이블 간 관계 설정
데이터 탭을 클릭하십시오
수정 탭을 클릭하십시오
Foreign Keys에서 설정
Relationships 탭을 클릭하십시오
Table Relationships의 Array relationships는 이전에 하위 테이블에 추가 된 설정을 반영해야하므로 추가 버튼을 클릭하십시오.
3. 쿼리 던지기
마지막으로 쿼리를 던져 데이터를 얻을 수 있는지 확인해 봅시다.
GRAPHIQL 탭 페이지에서 실행.
Reference
이 문제에 관하여([초보자] 하스라를 사용해 보았습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/masa_masa_ra/items/8b3eadfa0497dd90347d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)