📕

API Platformを理解するためにチェックしてるサイトなど

2023/12/02に公開

こんにちは、ちゃちいです。
今回は 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

https://api-platform.com/docs/

まずは公式です。ぼくがさわり始めた時に比べると、かなりページ数が増えていますが、いつの間にか増えているので、リポジトリをwatchしたほうがいいかもしれないです。

https://github.com/api-platform/docs

coreのCHANGELOG.md

https://github.com/api-platform/core/blob/main/CHANGELOG.md

アップデートが頻繁ですが、巨大なフレームワークではないため、Change Logは比較的読みやすいと思います。見るクセを付けておくとよいでしょう。はい、わかりました。

soyuka.me

https://soyuka.me/

API Platformコントリビュータ soyukaさんのBlogです。API Platformのバージョンが上がった際に記事を公開してくださっており、簡潔にまとまっていて助かります。
なお、𝕏はこちら。

https://twitter.com/s0yuka

API Platform実戦投入レシピ

https://zenn.dev/ttskch/books/a3800fc0912fbb

たつきちさんによる、実際に活用している経験の活きた API Platform の使い方がていねいに説明されています。
個人的にはこの書籍から始めて、適宜公式のドキュメントを読みに行くスタイルが効率的かなと。

Symfony

https://symfony.com/

昨日(アドベントカレンダー1日目)のたつきちさんの記事、なぜAPI Platformなのかにも書かれていますが、API Platformは単体で利用できます。

API Platform Core自体はスタンドアロンでも利用可能です。つまり、API Platform Coreを利用するアプリケーションの側がSymfonyフレームワークで作られていることは必須ではありません。ただし、公式ドキュメント には、Symfonyフレームワークとともに使用することが「推奨」であると明記されています。

引用文の通り、Symfonyと組み合わせる事が推奨されており、実際使ってみてこの組み合わせが強力だと感じます。と、いうわけで、Symfonyについても知っていきましょう。

OpenAPI

https://www.openapis.org/

OpenAPI が自動的に生成されるのはとても便利ですが、エンドポイントの概要文を変えたい…などのカスタマイズをするとき、OpenAPIの文法を理解している必要があります。

GraphQL Learn

https://graphql.org/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