hessnatur/simple-rest-crud-bundle

该包包含用于通过几个步骤构建使用 symfony 4、fos-rest-bundle、jms-serializer、lexik-form-filter-bundle 的 rest-api-interface 的抽象类和服务。

安装量: 1,464

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 0

分支: 2

开放问题: 2

类型:symfony-bundle

dev-master 2019-10-15 10:37 UTC

This package is auto-updated.

Last update: 2024-09-15 21:12:38 UTC


README

HessnaturSimpleRestCRUDBundle 为 symfony 框架添加了创建基本 restful CRUD 功能的支持。

特性包括

  • 可扩展的筛选器和表单来处理实体
  • 可扩展的 ApiResourceModel,带有 UUID 和创建时间戳
  • 抽象 CRUD-Controller 来构建端点

注意: 此包不提供认证系统,但可以提供核心 SecurityBundleLexikJWTAuthenticationBundle 的用户提供者。

安装

要安装该包,请通过 composer 安装,并将主文件添加到位于配置目录中的 bundles.php。

文档

安装后,您可以创建一个实体(继承自 Hessnatur\SimpleRestCRUDBundle\Model\ApiResource),一个更新和筛选表单(继承自 Hessnatur\SimpleRestCRUDBundle\Form\ApiResourceType 和 Hessnatur\SimpleRestCRUDBundle\Filter\ApiResourceFilter)。

现在您可以创建一个简单的控制器,如下所示

// src/Controller/UserController.php

/**
 * @Rest\Route("users")
 */
class UserController extends AbstractApiResourceController
{
    public function getApiResourceClass(): string
    {
        return User::class;
    }

    public function getApiResourceFilterFormClass(): string
    {
        return UserFilterType::class;
    }

    public function getApiResourceFormClass(): string
    {
        return UserType::class;
    }
}

以下端点是动态创建的

配置路径

该包自动将自路径设置到 ApiResources。如果您需要在这些路径前添加前缀,您可以在包的配置文件中配置。

hessnatur_simple_rest_crud:
  settings:
    api_prefix: 'api'

配置 ApiResourceManager

您可以使用自己的 ApiResourceManager。该类必须实现 Hessnatur\SimpleRestCRUDBundle\Manager\ApiResourceManagerInterface。您可以在包的配置文件中配置您的 ApiResourceManager。

hessnatur_simple_rest_crud:
  settings:
    api_resource_manager: 'Hessnatur\YourCustomCodeNamespace\Manager\ApiResourceManager'

许可证

此包受 MIT 许可证的约束。有关完整的许可证信息,请参阅包中的 LICENSE