Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

JAD

JSON Api ❤️ Doctrine ORM

Build Status License: MIT Codecov.io Maintainability

JAD is a library created for rapid development of JSON API backend REST implementation. You can run JAD as a standalone server with php -S (see demo), or you can use it as a middleware in your framework.

It turns doctrine entities (doctrine/doctrine2) to a JSON API resource, or collection of resources automagically.

Requirements

You need to have Doctrine installed and preferably setup before you can use Jad.

Install

composer require oligus/jad

Quick start

  1. Annotate your entities that you want to expose to JSON-API:
/**
 * @ORM\Entity
 * @ORM\Table(name="albums")
 * @Jad\Map\Annotations\Header(type="albums")
 */
class Albums
{
...
  1. Setup JAD using current entity manager.
$jad = new Jad(new Jad\Map\AnnotationMapper($em));
$jad->setPathPrefix('/api/v1/jad');
$jad->jsonApiResult();
  1. Fetch results
GET /api/v1/jad/albums

Contents

Configure

Mapping your entities

Fetching the resources

Fetching resources with relationships

Creating a new resource

Updating a resource

Deleting resources / relationships

Validation

Support

Lumen

Support for lumen via middleware.

In your Lumen bootstrap file (../lumen/bootstrap/app.php)

// Jad middleware
$app->middleware([
    'jad' => Jad\Support\Lumen\JadMiddleWare::class,
]);

...

// Register Service Providers
$app->register(Jad\Support\Lumen\JadServiceProvider::class);

You can go with the default configuration or copy lumen/vendor/oligus/jad/src/Support/Lumen/jad.php to /lumen/config and change it there.

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue before making a pull request.

Authors

  • Oli Gustafsson - Initial work - oligus

License

This project is licensed under the MIT License - see the LICENSE file for details

You can’t perform that action at this time.