PHPackages                             everycheck/api-rest-utils - 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. [API Development](/categories/api)
4. /
5. everycheck/api-rest-utils

AbandonedArchivedLibrary[API Development](/categories/api)

everycheck/api-rest-utils
=========================

1.6(6y ago)11.5k1MITPHP

Since Jan 24Pushed 6y ago1 watchersCompare

[ Source](https://github.com/everycheck/api-rest-utils)[ Packagist](https://packagist.org/packages/everycheck/api-rest-utils)[ RSS](/packages/everycheck-api-rest-utils/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (8)Versions (10)Used By (1)

api-rest-utils
==============

[](#api-rest-utils)

Some basic utils we use in every api rest project under symfony

Response builder
----------------

[](#response-builder)

For now there is one class responsible for building different kind of response needed by an api rest.

All methode return a `Symfony\Component\HttpFoundation\Response`, with json content.

### usage

[](#usage)

```
    public function getAction($id)
    {
        $response  = new ResponseBuilder($this->get('jms_serializer'));
        $entity = $this->getDoctrine()->getManager()->getRepository(Entity::class)->find($id);

        if(empty($entity)) return $response->notFound();

        return $response->ok($entities);
    }
```

### Response available

[](#response-available)

- json
- empty
- notFound
- ok
- created
- deleted
- conflict
- forbiddenRoute
- forbiddenAcl
- forbidden
- badRequest
- formError **for parsing symfony form error**
- unauthorized

### Configuring headers

[](#configuring-headers)

Use the `addHeaders` method :

```
    public function getAction($id)
    {
        $response  = new ResponseBuilder($this->get('jms_serializer'));
        $entity = $this->getDoctrine()->getManager()->getRepository(Entity::class)->find($id);

        if(empty($entity)) return $response->notFound();

        return $response->addHeaders('X-something','some-value')->ok($entities);
    }
```

Find paginated with filter and order by
---------------------------------------

[](#find-paginated-with-filter-and-order-by)

Another common thing required is a find all entity matching certain filter and ordered by some criteria

Just add the trait in your repository like this :

```
