murnieza / ApiBundle

ONGR API Bundle

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ONGR Api Bundle

Currently API Bundle is under reconstruction. Use 0.1 branch as a stable version for now.

master branch docs might not be accurate. Until 1.0 will be released take a look at the docs here

Api Bundle allows rapid setup of RESTful API to simplify Elasticsearch data access for the remote clients.

Build Status

Documentation

The source of the documentation is stored in the Resources/doc/ folder in this bundle.

Read the API Bundle Documentation

Setup the bundle

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.

Step 1: Install

Api bundle is installed using Composer.

composer require ongr/api-bundle

Step 2: Enable bundle in the AppKernel

<?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

Step 3: Add configuration

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.

Step 4: That's it

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

What's next ?

Head to configuration page to learn how to get most of your API or take a look at the basic usage example

License

This bundle is covered by the MIT license. Please see the complete license in the bundle LICENSE file.

About

ONGR API Bundle

License:MIT License


Languages

Language:PHP 100.0%