API PlatformでのNo operations defined in spec!問題
エンティティをApiPlatform\Metadata\ApiResourceでアノテーション定義しても、エンティティがAPIとして使用定義されなかった。ApiPlatform\Core\Annotation\ApiResourceだと定義される。
定義されていないままだと、当然API Platform Adminでは以下のようなエラーになってしまう。
Unhandled Runtime Error
Error: Resource users not present inside API description
原因は3.0からデフォルトで無効になるmetadata_backward_compatibility_layerが2.7では有効のままになっているため。
設定を以下のように定義することで修正可能。
# api/config/packages/api_platform.yaml
api_platform:
metadata_backward_compatibility_layer: false
公式ドキュメントはUpgrade Guideにあります。