Open2

Rest APIとGraphQL

ImaIma

Rest API
処理とリソースがパスのなかに情報として入っている
処理に部分はメソッドに持ってきてリソースに対して何か定義するのもメソッド

GraphQL

でもクエリの組み立てってセキュリティ的に危なくない?
クエリ制限やアクセス制御、認証・認可などの対策を取ることができるらしい

rppms リレーショナルデータベース使えない?
RDBも使えるNoSQLもつかえる

ImaIma

GraphQLにすると
パフォーマンスと柔軟性の向上

GraphQLとは

Facebook社 が開発したWebAPIのクエリ言語
2012年にモバイル アプリケーション向けに開発がスタートし まして2015年にオープンソース化
RestAPIによって必要の ないデータまで取得してしまい 処理が 複雑になってしまったりとかあとはメモリ リークというかですねメモリを大量に消費 してしまうとそういった問題点が モチベーションになってこちらのグラフ QLというのは開発された

Rest APIとは

リソースごとにエンドポイント(URL)を定義して
HTTPメソッド(GET,POST,DELETE,PUTなど)を使い、リソースに対して処理を行う
レスポンスとしてJSONが帰ってくる

問題点

アプリケーションが大きくなるとエンドポイントが増えてしまう
必要のないデータも取得してしまう

メモリが圧迫、リークを引き起こして可能性

GraphQL特徴

単一のエンドポイントからデータを取得
goodsのエンドポイントのみであらゆるデータにアクセス可能
フロント側でクエリをもつことで

必要なデータのみ取得できる

型指定できる

GraphQL問題点

学習コストがかかる
クエリによってはサーバーサイド側の作業が複雑になる可能性
クエリ予想が難しい
小規模のアプリには不向き、エントリーポイントが多くなければ使う必要ない