This commit is contained in:
Nebel 2022-02-25 17:24:19 +09:00
parent 86eb2cee64
commit e0c49a8ef8

View file

@ -13,10 +13,10 @@ WebDINO Japan エンジニア
## Hasura
GraphQL サーバー
https://hasura.io
データベースを\
自動的に GraphQL API として提供
GraphQL サーバー
接続したデータベースを自動的に GraphQL API として提供
![bg right:45% h:600px](https://hasura.io/static/schema-query-3e7ddf6d398359f910d334df09391638.svg)
@ -26,43 +26,30 @@ GraphQL サーバー
## GraphQL
クライアント・ドリブンな開発<sup>[^1]</sup>を実現するための API 仕様
https://graphql.org
- データを問い合わせるクエリ言語仕様と周辺技術
- 単一リクエスト/型システム/開発ツール
API の問い合わせ言語
![bg right:22% w:200px][graphql.svg]
特徴
[^1]: https://about.sourcegraph.com/graphql/graphql-client-driven-development/
- 単一リクエスト
- 型システム
- 便利なツール
[graphql.svg]: https://cdnjs.cloudflare.com/ajax/libs/simple-icons/5.7.0/graphql.svg
<!-- _footer: ^1: Dan Schafer (2017) [GraphQL: Client-Driven Development][^1] -->
![bg right w:200px](https://cdnjs.cloudflare.com/ajax/libs/simple-icons/5.7.0/graphql.svg)
---
## GraphQL と Hasura
GraphQL は多くのプログラミング言語で使うことができる<sup>[^2]</sup>
GraphQL は多くのプログラミング言語で使うことができる
しかし、バックエンドでは SQL 等のデータソースのクエリーに変換する必要がある
Hasura を使うと GraphQL から SQL に自動的に翻訳することが可能
[^2]: https://graphql.org/code/
<!-- _footer: ^2: [GraphQL Code Libraries, Tools and Services][^2] -->
Hasura を使うことで GraphQL と SQL を自動的に相互変換できる
---
## 特徴
- 強力な CRUD 操作
- 簡単なデータ構造の変更
- 堅牢なアクセス制御モデル
---
## Hasura 2.0 の機能の紹介
## Hasura 2.0 の機能
[RESTified GraphQL Endpoints (2.0 の新機能)](https://hasura.io/docs/latest/graphql/core/api-reference/restified.html)
GraphQL の REST 化のサポート
@ -72,42 +59,13 @@ GraphQL API と同様のレスポンスを得る
---
## RESTified GraphQL Endpoints ハンズオン
<!-- prettier-ignore-start -->
[Hasuraで作るREST API](https://kou029w.github.io/hasura-rest-hands-on/)
<!-- prettier-ignore-end -->
# ハンズオン
---
## 後付
## Hasura で作る REST API
---
## 認証・認可
- Webhook
- JWT - 推奨
<!-- _footer: 公式ドキュメント: https://hasura.io/docs/latest/graphql/core/auth/index.html -->
---
## 設定
[CORS](https://hasura.io/docs/latest/graphql/core/deployment/graphql-engine-flags/config-examples.html#id1)
- 適宜セキュリティ要件に合わせて設定
- デフォルトですべてのオリジン(`Access-Control-Allow-Origin: *`)が許可
---
## 関連
- [Hasura GraphQL Docs](https://hasura.io/docs/latest/graphql/core/index.html)
- [Hasura GraphQL チュートリアル](https://hasura.io/learn/graphql/hasura/introduction/)
- [Hasura GraphQL チュートリアル (日本語版)](https://hasura.io/learn/ja/graphql/hasura/introduction/)
- [Hasura GraphQL API サーバーを Heroku に構築後、Auth0 で権限認証 - YouTube](https://www.youtube.com/watch?v=nxnn_VhfoQM)
https://kou029w.github.io/hasura-rest-hands-on/
---