Open2
Rest APIとGraphQL

Rest API
処理とリソースがパスのなかに情報として入っている
処理に部分はメソッドに持ってきてリソースに対して何か定義するのもメソッド
GraphQL
でもクエリの組み立てってセキュリティ的に危なくない?
クエリ制限やアクセス制御、認証・認可などの対策を取ることができるらしい
rppms リレーショナルデータベース使えない?
RDBも使えるNoSQLもつかえる

GraphQLにすると
パフォーマンスと柔軟性の向上
GraphQLとは
Facebook社 が開発したWebAPIのクエリ言語
2012年にモバイル アプリケーション向けに開発がスタートし まして2015年にオープンソース化
RestAPIによって必要の ないデータまで取得してしまい 処理が 複雑になってしまったりとかあとはメモリ リークというかですねメモリを大量に消費 してしまうとそういった問題点が モチベーションになってこちらのグラフ QLというのは開発された
Rest APIとは
リソースごとにエンドポイント(URL)を定義して
HTTPメソッド(GET,POST,DELETE,PUTなど)を使い、リソースに対して処理を行う
レスポンスとしてJSONが帰ってくる
問題点
アプリケーションが大きくなるとエンドポイントが増えてしまう
必要のないデータも取得してしまう
↓
メモリが圧迫、リークを引き起こして可能性
GraphQL特徴
単一のエンドポイントからデータを取得
goodsのエンドポイントのみであらゆるデータにアクセス可能
フロント側でクエリをもつことで
必要なデータのみ取得できる
型指定できる
GraphQL問題点
学習コストがかかる
クエリによってはサーバーサイド側の作業が複雑になる可能性
クエリ予想が難しい
小規模のアプリには不向き、エントリーポイントが多くなければ使う必要ない