trivago / jade

A simple but yet powerful library to expose your entities through JSON API.
Other
55 stars 6 forks source link

Jade(Json Api Doctrine Exposer)

What is it?

Jade is a library created in an effort to create a simple way to create Json API server using doctrine entities. It supports all the CRUD functionality like filtering, sorting and including relationships. You just define the entities then using the configuration expose different routes.

It is done in a way to be easy to customize any part you need.

Another library?

Before starting developing this library we went through other available libraries even thinking about contributing to them. But the issue was that customizing those libraries to our needs was complicated and sometimes needed too much effort to even set it up. In case of Jade in 5 minutes you can have a fully functional API running.

Getting started

You can find a quick start example in docs/example.md

First install the library:

composer require trivago/jade

Next add the bundle to the kernel:

<?php

public function registerBundles()
{
        $bundles = [
            ...
            new Trivago\Jade\Application\Framework\JadeBundle\TrivagoJadeBundle(),
            ...
        ];
}

And then add the routing

json_api_routes:
    prefix: /api
    resource: .
    type: json_api

And then you have to setup the configuration.

Configuration

Read it here

Example configuration

Read it here

Entities

Read it here

Loading the routes

Read it here

Filtering

Read it here

Sorting

Read it here

Including

Read it here

Listeners

Read it here

Example calls

Read it here

Security concerns

Read it here

Tests

Read it here

Missing features