2017 © Pedro PelĂĄez
 

symfony-bundle rest-bundle

Generates a REST api based on your entities

image

nedra/rest-bundle

Generates a REST api based on your entities

  • Monday, October 2, 2017
  • by mertoksuz
  • Repository
  • 3 Watchers
  • 5 Stars
  • 8 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 2 Open issues
  • 21 Versions
  • 0 % Grown

The README.md

Build Status, (*1)

NedraRestBundle

NedraRestBundle creates automatically a REST API based on your models. Just give your models and use your auto-generated endpoints., (*2)

Get Started

Bundle works on Doctrine ORM based models. Bundle purpose is generate a REST Api in fastest and easy way., (*3)

Installation

Step 1: Update composer.json, (*4)

composer require nedra/rest-bundle

Step 2: Register Classes to AppKernel, (*5)

[...]
new FOS\RestBundle\FOSRestBundle(),
new JMS\SerializerBundle\JMSSerializerBundle($this),
new Symfony\Cmf\Bundle\RoutingBundle\CmfRoutingBundle(),
new Nedra\RestBundle\NedraRestBundle(),

Step 3: Update your config.yml for NedraRestBundle, (*6)

nedra_rest:
    active: true # this is default value, you can disable the bundle with set to false
    entities:
        app.model:
            classes:
                model: AppBundle\Entity\Model

Note

app.model is a pattern example. You must define your models with application prefix like app, (*7)

Check Routes

Run that command and debug your router, (*8)

bin/console debug:router

You will see auto-generated routings for REST, (*9)

app_model_index             GET         ANY      ANY    /models/                            
app_model_create            POST        ANY      ANY    /models/new                         
app_model_update            PUT|PATCH   ANY      ANY    /models/{id}                        
app_model_show              GET         ANY      ANY    /models/{id}                        
app_model_delete            DELETE      ANY      ANY    /models/{id} 

Configuration Reference

nedra_rest:
    entities:
        app.model:
            path: model # you can change /models/ to /cars/
            except: ['show']
            only: ['create', 'index']
            classes:
                model: AppBundle\Entity\Model
                form:  AppBundle\Form\ModelType

Note

You can use only one of them except or only, (*10)

The Versions