NedraRestBundle creates automatically a REST API based on your models. Just give your models and use your auto-generated endpoints.
Bundle works on Doctrine ORM based models. Bundle purpose is generate a REST Api in fastest and easy way.
Step 1: Update composer.json
composer require nedra/rest-bundle
Step 2: Register Classes to AppKernel
[...]
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
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
app.model
is a pattern example. You must define your models with application prefix like app
Run that command and debug your router
bin/console debug:router
You will see auto-generated routings for REST
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}
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
You can use only one of them except
or only