![API Platform実戦投入レシピ](https://res.cloudinary.com/zenn/image/fetch/s--JX40nZHs--/c_fill%2Cf_jpg%2Cfl_progressive%2Ch_700%2Cq_90%2Cw_500/https://storage.googleapis.com/zenn-user-upload/book_cover/e6adac6539.png)
API Platform実戦投入レシピ
無料で読める本
API Platform (https://api-platform.com/) は、SymfonyをベースとするPHP製のWeb APIフレームワークです。 簡単な設定を書くだけでSymfonyアプリにREST API(やGraphQL API)の機能を一瞬で追加することができて非常に便利なのですが、2023年9月現在、ある程度以上複雑なことをしようとすると途端にフレームワークについての深い理解が求められたり、痒いところに手が届かず強引なワークアラウンドが必要になったりするという面もあり、まだまだ日本国内でプロダクションに投入されている例を見聞きすることは少ない印象です。 本書では、Symfony・API Platformともにヘビーユーザーである筆者が実際の業務でSymfonyアプリ上でのREST APIの実装にAPI Platformを使ってきた経験をもとに、API Platformの基本的な仕組みやよくあるユースケースで必要になるワークアラウンドについて包括的にご紹介します。API Platformの実戦投入、あるいはその検討の一助になれば幸いです。 本書で解説に使用するサンプルコードは、以下のリポジトリにて公開しています。 https://github.com/ttskch/api-platform-example ※本書で扱う内容はAPI Platformのv3.1を対象としています。
Chapters
はじめに
とりあえず動かしてみる
オペレーションをカスタマイズする
State Provider / コントローラ / State Processor
オペレーションを追加または無効化する
独自State Providerでページネーションする
設定をアトリビュートではなくYAMLで行う
APIをバージョニングする
Post/PutオペレーションのAPI Docからリクエストボディを削除する
idパラメータのないItemオペレーションを作成する
Subresourcesを使ってURIパラメータを持つCollection Getオペレーションを作る
フィルタ機能の使い方
プロパティのOpenAPI出力を修正する
URIパスをlowerCamelCaseに変更する
シリアライズの設定を行う
おわりに
Community
Author
Topics