首页 > 解决方案 > API 平台:仅将实体公开为子资源

问题描述

问题是关于 PHP 8.0 / symfony 5.3 / API-Platform 2.6 项目。

我试图实现的是将 Game 限制为仅作为用户的 subresource 公开,如下所示:

https://whatever.com/users/{id}/games/{id}

对于游戏,不再有通用端点,如下所示:

https://whatever.com/games/{id}

您知道如何执行此限制吗?

标签: restrelationshipapi-platform.com

解决方案


这仅适用于 API 平台版本 2.7+,目前正在开发中(但可用,安装主分支)。在这个版本中,“子资源”消失了,但是引入了新的 PHP 属性,允许使用任意 URL。这基本上替换了子资源并为它们添加了写入支持(POST、PUT、PATCH、DELETE)。


推荐阅读