API Platformを理解するためにチェックしてるサイトなど
こんにちは、ちゃちいです。
今回は API Platform Advent Calendar 2023 2日目の記事です。
API Platform、わからん
お仕事でAPI Platformをさわり始めましたが、情報が出てこなくてだいぶ悩みました。今回は、ぼくがAPI Platformを理解するために有用だったサイトなどを挙げていく記事です。(なお、理解したとは言っていません)
バージョンの違いを気にしておく
現在、API Platformはバージョン3.2がリリースされています。Webで検索していると、2.x系の情報が出てきますが、3系と2系ではかなりの違いがあるので、それを踏まえて調査しましょう。
ぼく自身、バージョン3.0から触って、調べたときに2.xの話題が出て「この書き方はドキュメントに無いが…??」と何回もなりました。
参考サイト
API Platform
まずは公式です。ぼくがさわり始めた時に比べると、かなりページ数が増えていますが、いつの間にか増えているので、リポジトリをwatchしたほうがいいかもしれないです。
coreのCHANGELOG.md
アップデートが頻繁ですが、巨大なフレームワークではないため、Change Logは比較的読みやすいと思います。見るクセを付けておくとよいでしょう。はい、わかりました。
soyuka.me
API Platformコントリビュータ soyukaさんのBlogです。API Platformのバージョンが上がった際に記事を公開してくださっており、簡潔にまとまっていて助かります。
なお、𝕏はこちら。
API Platform実戦投入レシピ
たつきちさんによる、実際に活用している経験の活きた API Platform の使い方がていねいに説明されています。
個人的にはこの書籍から始めて、適宜公式のドキュメントを読みに行くスタイルが効率的かなと。
Symfony
昨日(アドベントカレンダー1日目)のたつきちさんの記事、なぜAPI Platformなのかにも書かれていますが、API Platformは単体で利用できます。
API Platform Core自体はスタンドアロンでも利用可能です。つまり、API Platform Coreを利用するアプリケーションの側がSymfonyフレームワークで作られていることは必須ではありません。ただし、公式ドキュメント には、Symfonyフレームワークとともに使用することが「推奨」であると明記されています。
引用文の通り、Symfonyと組み合わせる事が推奨されており、実際使ってみてこの組み合わせが強力だと感じます。と、いうわけで、Symfonyについても知っていきましょう。
OpenAPI
OpenAPI が自動的に生成されるのはとても便利ですが、エンドポイントの概要文を変えたい…などのカスタマイズをするとき、OpenAPIの文法を理解している必要があります。
GraphQL Learn
API Platformは、composer require webonyx/graphql-php
を入れるだけでGraphQLに対応できます。(GraphQL Support)
これは個人的な話で恐縮ですが、GraphQLに触れないで生きてきたので、GraphQLのクエリ自体どう書けばよいのかを理解する必要がありました。(業務では現時点、GraphQLを使わない選択になりましたが…)
ChatGPTに聞く
ChatGPT-4、先日のアップデートで訓練データが2023-04までわかるようになったそうです。質問してみると、バージョン3.1までは理解できるようです。
ChatGPTへの質問の仕方(プロンプトの書き方)はまた別の話題だと思うので割愛します。
API Platformに触れてみようという方への参考になれば幸いです。
Discussion