Strapi のバージョン4系でREST APIから返却されたJSONに一部のフィールドが含まれない現象が起きた。その解決方法を書く。
populate
を指定する
Media
タイプやRelation
タイプのフィールドは明示的に指定しないとデフォルトでは含まれないとのこと。含めたい場合はpopulate
で指定する。(参考)
全てのフィールドを含めたい場合は以下。
https://exmaple.com/restaurants?populate=*
特定のフィールドのみを含めたい場合は以下。
https://exmaple.com/restaurants?populate=top_image,categories
上記の場合、top_image
(Media
タイプ)とcategories
(Relation
タイプ)を含める。デフォルトで表示されるフィールドはここで指定しなくても勝手に含まれる。
populate
にはもっと複雑な指定ができるので詳しくは公式サイトを参照。
権限を確認する
Relation
タイプのフィールド限定だが、関係先のテーブルの読み取り権限がないと表示されない。populate
で指定しても単純に無視される。まあ忘れてただけな訳だが私はこれで結構悩んだ。