SuperAPI AI 工具集

api-platform-resources

编程与开发

查看项目

更新于 10-15 21:08

技能介绍

用途:在 Symfony 项目中把实体或类暴露为 #[ApiResource],并精确控制 API 提供哪些操作。适用于新增资源、挑选 Get、GetCollection、Post、Put、Patch、Delete 操作、调整集合分页,以及用类型化 OpenAPI 对象替代 openapiContext 数组来编写文档。

主要能力:显式列出 operations: 中的每个操作;按需设置 uriTemplate、requirements、status、routePrefix;通过资源属性或 config/packages/api_platform.yaml 中的 api_platform.defaults 配置分页(每页条数、部分分页、客户端控制);用 openapi: 模型对象描述操作并设置 validationContext 分组。

使用方式:只安装需要的组件 api-platform/symfony、api-platform/doctrine-orm,可选 api-platform/graphql;在 Symfony 6.4 LTS 上固定为 ~4.3.0。声明任一操作会停止自动 CRUD,且 Put 从不自动生成。配置后检查路由与 OpenAPI 导出。

限制与注意:声明一个操作会移除默认 CRUD,例如 operations: [new Get()] 的资源没有集合、Post 或 Delete;v4 中 openapiContext 数组已弃用,应使用类型化 openapi: 选项;collectionOperations 和 itemOperations 已不存在;启用 paginationClientEnabled 允许客户端禁用分页时,应保留 paginationMaximumItemsPerPage。具体版本差异与更多实现细节暂未提供。