objective-php/rest-action

Rest(ful) aware PSR-15 Middleware library

v3.0.1 2019-06-02 22:05 UTC

This package is not auto-updated.

Last update: 2024-12-08 23:57:59 UTC


README

Rest(ful) aware PSR-15 Middleware library

Getting started

RestAction provide an easy way to build versioned API endpoints and support proactive content negotiation.

$action = new RestAction();

/*
 * Assume our RestAction has `application/xml` and `application/json` available
 * as media types, in order of highest-to-lowest preference for delivery
 */
$action->registerSerializer('application/*json', JsonSerializer::class);

/*
 * Assume our RestAction has two Endpoints version available with
 * requests like `https://api.example/users` with `API-VERSION:1.0.0` or `API-VERSION:2.0.0` header
 *
 * Note that it support Semver matching, so the resource is also available with
 * requests like `https://api.example/users` with `API-VERSION:1` or `API-VERSION:2` header
 */
$action->registerEndpoint('1.0.0', UsersEndpointV1::class);
$action->registerEndpoint('2.0.0', UsersEndpointV2::class);