/limoncello-bundle

An integration bundle for https://github.com/neomerx/json-api and Symfony

Primary LanguagePHPApache License 2.0Apache-2.0

LimoncelloBundle

LimoncelloBundle is an integration bundle for neomerx/json-api and Symfony.

Build Status codecov.io

Install

  1. Download LimoncelloBundle using composer
$ composer require plehatron/limoncello-bundle "dev-master@dev"
  1. Enable the bundle
<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Plehatron\LimoncelloBundle\PlehatronLimoncelloBundle(),
        // ...
    );
}

Create and register JSON API Schema classes

See CategorySchema file from integration tests for an example on how to write JSON API Schema classes.

Register a map of schema and corresponding entity classes:

# app/config.yml
# ...

plehatron_limoncello:
    schemas:
        ApiBundle\Entity\Category: ApiBundle\Schema\CategorySchema

Create and register JSON API Controllers

API controllers should extend abstract \Plehatron\LimoncelloBundle\Controller\JsonApiController class which has full JSON API support provided by the neomerx/limoncello package.

See CategoryController file for an example on how to write JSON API Controllers,

Versioning

This bundle is following Semantic Versioning scheme.

Testing

Run tests with:

$ vendor/bin/phpunit

Credits

This bundle is loosely based on elytus-limoncello-bundle.

License

Apache License (Version 2.0). Please see License File for more information.