This code is no longer maintained. Feel free to fork it, but use it at your own risks.
Microrest is a Silex provider to setting up a REST API on top of a relational database, based on a YAML (RAML) configuration file.
Check out the launch post.
What is RAML ?
RESTful API Modeling Language (RAML) is a simple and succinct way of describing practically-RESTful APIs. It encourages reuse, enables discovery and pattern-sharing, and aims for merit-based emergence of best practices.
You can easily set up a RAML file from API Designer.
To install microrest.php library, run the command below and you will get the latest version:
composer require marmelab/microrest "~1.0@dev"
Microrest service providers in your application:
$app->register(new Silex\Provider\ServiceControllerServiceProvider()); $app->register(new Silex\Provider\DoctrineServiceProvider(), array( 'db.options' => array( 'driver' => 'pdo_sqlite', 'path' => __DIR__.'/app.db', ), )); $app->register(new Marmelab\Microrest\MicrorestServiceProvider(), array( 'microrest.config_file' => __DIR__ . '/api.raml', ));
You need to give the path to the
RAML file describing your API. You can find an example into the
Then, browse your new API REST on the url defined in the
baseUrl configuration of your
RAML api file.
Run the tests suite with the following commands:
make install make test
You can find a complete demo application in
examples/ng-admin. You just need 2 commands to install and run it:
make install-demo make run-demo
Play with the Silex demo API at the url:
Explore the API using ng-admin backend administration at the url: