Api Bundle allows rapid setup of RESTful API to simplify Elasticsearch data access for the remote clients.
Documentation
The source of the documentation is stored in the Resources/doc/
folder in this bundle.
Read the API Bundle Documentation
This example assumes that you already have configured Elasticsearch bundle. If you haven't, here's a quick setup guide on how to do it.
Api bundle is installed using Composer.
composer require ongr/api-bundle "~1.0"
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new JMS\SerializerBundle\JMSSerializerBundle(),
new ONGR\ElasticsearchBundle\ONGRElasticsearchBundle(),
new ONGR\ApiBundle\ONGRApiBundle(),
);
}
API Bundle requires JMS Serializer to work with JSON and XML
Add minimal configuration for Api bundle to the config.yml
.
#app/config/config.yml
ongr_api:
default_encoding: json
versions:
v3:
endpoints:
product:
repository: es.manager.default.product
The example above shows a minimal configuration. To learn more take a look at the configuration page.
Add routing
#app/config/routing.yml
ongr_api_routing:
resource: @ONGRApiBundle/Resources/config/routing.yml
prefix: /api
You can specify prefix like you want,
api
is only the example.
Its ready to use. API Bundle will generate new url endpoints by your configuration, by previous configuration you will have: <yourdomain.com>/api/v3/product
Head to configuration page to learn how to get most of your API or take a look at the basic usage example
This bundle is covered by the MIT license. Please see the complete license in the bundle LICENSE file.