lydic-group/rapid-api-crud

该软件使 Symfony CRUD API 开发变得快速且灵活。

0.1.12 2021-08-22 19:54 UTC

This package is auto-updated.

Last update: 2024-09-23 02:09:47 UTC


README

该软件使快速且灵活的 Symfony API CRUD 开发成为可能。

它能做什么

  • 为特定实体创建 CRUD 操作的端点(可配置)
  • 通过使用类中的注解验证实体
  • 例如,使用 @Groups 注解从输出中包含特定的属性(例如,从 'detail' 中排除 $id,但不在 'list' 中排除)
  • 关联字段(与其他实体的关系)将被规范化为实体的 ID,反之亦然。

端点

当你扩展 RapidApiCrudController 时,这些端点将自动可用

(*) 这些端点接受一些查询参数。

(**) 这些端点适用于 ToOne 和 ToMany 关联。 best-friends 是 User 模型上的关联名称:$bestFriends

过滤

有几种过滤实现。您可以使用 ControllerConfig 改变过滤模式。

排序

您也可以添加排序到结果中: /users?sort=age ASC

分页

您也可以添加分页查询: /users?page=1&limit=10

关联实体

为了性能原因,关联实体默认按其 ID 规范化。
如果您想包含整个实体,可以使用带有(逗号分隔)关联名称的查询参数。例如
在列表端点上: /users?include=bestFriends
在详情端点上: /users/1?include=bestFriends
在关联端点上: /users/1/best-friends?include=car
这只会深入一层。

如何使用

快速/灵活的方式

  1. 创建一个实体并实现 RapidApiCrudEntity(可选:使用 Symfony 验证注解)
  2. 创建一个扩展 RapidApiCrudController 的控制器
  3. 实现所需的方法,并使用配置 DTO 启用/禁用某些路由

完全可定制的的方式

  1. 创建或编辑现有的模型并实现 RapidApiCrudEntity 接口
  2. 创建或编辑现有的控制器,不要 扩展 RapidApiCrudController
  3. 注入 CrudService
  4. 创建所需的方法/路由,并使用 CrudService 中的逻辑快速启动

请随意使用 ControllerFacade 以实现特定路由功能。如果您需要更具体的逻辑,请使用 CrudService。

路线图

请查看我们这里的 看板

支持

嗨 👋 如果您喜欢我们的库。通过 购买 咖啡来支持我们!