Chapter 01

はじめに

たつきち
たつきち
2022.07.29に更新

なぜAPI Platformなのか

API Platform は、2022年5月現在、SymfonyアプリにREST API[1]の機能を実装するためのバンドルとして決定版と言える存在となっています。

従来は FOSRestBundle がデファクトスタンダードとして広く使われていましたが、API Platformの公式ドキュメントにも記載がある ように、2021/09/21にFOSRestBundleのコア開発者たちにより FOSUserBundleの事実上のEOLを宣言し代替としてAPI Platformを推奨するツイート が投稿されています。

また、API Platformはユーザーコミュニティの活動も活発で、2021年9月には 500人規模のオンラインカンファレンスが開催され、今年2022年9月にも 同様にカンファレンスの開催が予定されています

しかしながら、現状の筆者の感想として、API Platformは Simple/Easyの分類 で言うとEasyであることを重視しているように思われ、2022年5月現在、ある程度以上複雑なことをしようとすると途端にフレームワークについての深い理解が求められたり、痒いところに手が届かず強引なワークアラウンドが必要になったりするという面があるのも事実です。

そこで本書では、Symfonyヘビーユーザーである筆者が実際の業務でSymfonyアプリ上でのREST APIの実装にAPI Platformを使ってみた経験をもとに、API Platformの基本的な仕組みやよくあるユースケースで必要になるワークアラウンドについて包括的にご紹介します。API Platformの実戦投入、あるいはその検討の一助になれば幸いです。

サンプルコード

本書で解説に使用するサンプルコードは、以下のリポジトリにて公開しています。

https://github.com/ttskch/api-platform-example
必要に応じて実際のコードを参照しながら読み進めていただければと思います。
脚注
  1. 本書では、"REST API" という用語を本来の厳密な意味ではなく "Web API", "JSON API" 程度の意味で用いています。 ↩︎