Closed1

graphQLまとめメモ

ぴょんさんぴょんさん

GraphQLとは

APIのクライアントとサーバーのデータの問い合わせに特化したクエリ言語のこと
APIに対して、この型でデータを返してほしいと指定できる
取得できるフィールドは2種類
https://qiita.com/HirotakaKouso/items/468c43f727118e315761#schemagraphqlを追加

スカラ型

  • Int
  • Float
  • String
  • Boolean
  • ID(ユニークな型)
    に対応している

オブジェクト型

1つ以上のフィールドを含んだグループ

REST APIとは

Representational State Transferの略
REST(れすと)とは:シンプルなWebシステムの設計のこと
CRUDする
RESTの4原則
1.統一インターフェース
2.アドレス可能性
3.接続性
4.ステートレス性

REST APIとはどう違う?

余計なデータを取得しないですむ
エンドポイントが1つで情報を取得できるので呼び出し回数が減る
REST APIだと全部取得しないといけない、欲しいデータだけ取得するならエンドポイントを分けなきゃいけない
型指定ができてデータが明確になる

APIとは

アプリケーション プログラミング インターフェイスの略
インターフェイスは異なる二つを繋ぐという意味
ソフトウェアとプログラムを繋いでいる
機能を拡張したり追加することができる
→spotify APIだと音楽が取得、再生できる機能を自分のアプリに追加できるとか

リクエスト(要求)とレスポンス(応答)に分かれる
ユーザーがリクエストするとサーバーがレスポンスを返す

クエリ言語とは

取得、リクエストするための言語
データ取得するquery、データを変更できるmutation、プッシュ通知のようなリアルタイム処理ができるSubscriptionがある

スキーマ言語とは

APIの仕様を書くための言語
リクエストされたクエリはスキーマ言語で書かれたスキーマによって生成される

スキーマとは

データベースの構造
APIリクエストの仕様を定義したAPIのすべての機能がかかれたもの
リクエストはスキーマに沿っていないとレスポンスできない

APIエンドポイントとは

二つのアプリケーションがやり取りをするところ。
クライアントがAPIを通じてデータや機能にアクセスできるURLのこと
エンドポイントはAPIのベースURLに続くパスで構成される
例 https:hogehoge/users
/usersがエンドポイント

API呼び出しを受け、リクエストされた情報を返す

  • APIでは複数のエンドポイントを持つことができる

URIとは

Uniform resource Identifierのこと
URLとURIの総称
URL→web上の住所
URI→web上の名前、固有のシリアルナンバー

CRUD

Create, Read, Update, Deleteの略

N+1問題

データベースを
図書館データベースに本の作者に本が紐づいているデータベースがあるとする
全部の本の作者取得してから、本を取得するのでデータの取得回数が多くなってしまう、、?

このスクラップは2024/12/23にクローズされました