PHPackages                             hessnatur/simple-rest-crud-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. hessnatur/simple-rest-crud-bundle

ActiveSymfony-bundle

hessnatur/simple-rest-crud-bundle
=================================

The package contains abstract classes and services to build a rest-api-interface with symfony 4, fos-rest-bundle, jms-serializer, lexik-form-filter-bundle in few steps.

11.5k2[2 issues](https://github.com/hessnatur/simple-rest-crud-bundle/issues)PHP

Since Oct 15Pushed 6y agoCompare

[ Source](https://github.com/hessnatur/simple-rest-crud-bundle)[ Packagist](https://packagist.org/packages/hessnatur/simple-rest-crud-bundle)[ RSS](/packages/hessnatur-simple-rest-crud-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

HessnaturSimpleRestCRUDBundle
=============================

[](#hessnatursimplerestcrudbundle)

The HessnaturSimpleRestCRUDBundle adds support for creating basic restful CRUD-functionality to the symfony framework.

Features include:

- expandable filters and forms to handle entities
- expandable ApiResourceModel with UUID and timestamp of creation
- Abstract CRUD-Controller to build endpoints

**Note:** This bundle does *not* provide an authentication system but can provide the user provider for the core [SecurityBundle](https://symfony.com/doc/current/book/security.html) or [LexikJWTAuthenticationBundle ](https://github.com/lexik/LexikJWTAuthenticationBundle).

Installation
------------

[](#installation)

To install the bundle require the bundle via composer and add the main-file to your bundles.php located in the config-directory.

Documentation
-------------

[](#documentation)

After installation that you can create an entity (inheritance from Hessnatur\\SimpleRestCRUDBundle\\Model\\ApiResource), an update- and filter-form (inheritance from Hessnatur\\SimpleRestCRUDBundle\\Form\\ApiResourceType and Hessnatur\\SimpleRestCRUDBundle\\Filter\\ApiResourceFilter).

Now you can create a simple controller like this:

```
// 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;
    }
}

```

The following endpoints a created dynamically:

EndpointHttp VerbFunctionality/users/{uuid}GETReturns the user with the given uuid./users/{uuid}PUTUpdates the user with the given uuid (defined in `getApiResourceFormClass()`)./usersPOSTCreates a new user (defined in `getApiResourceFormClass()`)/users/{uuid}DELETEDELETES the user with the given uuid./usersGETLists all users (you can filter with query params defined in `getApiResourceFilterFormClass()`).### Configure paths

[](#configure-paths)

The bundle sets automatically self paths to the ApiResources. If you prefix this paths, you can configure this in the config file of the bundle:

```
hessnatur_simple_rest_crud:
  settings:
    api_prefix: 'api'

```

### Configure ApiResourceManager

[](#configure-apiresourcemanager)

You can use an own ApiResourceManager. This class has to implement the `Hessnatur\SimpleRestCRUDBundle\Manager\ApiResourceManagerInterface`. In the config file of the bundle you can configure your ApiResourceManager:

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

```

License
-------

[](#license)

This bundle is under the MIT license. See the complete license [in the bundle](LICENSE)

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/f7c1b6485858e749af1b73a92cf849b6f147167e1904487e86ee8d87d9aa6a49?d=identicon)[Hessnatur](/maintainers/Hessnatur)

---

Top Contributors

[![hessfelix](https://avatars.githubusercontent.com/u/52281801?v=4)](https://github.com/hessfelix "hessfelix (5 commits)")

### Embed Badge

![Health badge](/badges/hessnatur-simple-rest-crud-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/hessnatur-simple-rest-crud-bundle/health.svg)](https://phpackages.com/packages/hessnatur-simple-rest-crud-bundle)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
