iambib/api-version-fallback

A package that allows you to have a fallback version of your api

v1.0.3 2023-03-13 17:39 UTC

This package is auto-updated.

Last update: 2024-04-13 20:02:34 UTC


README

Lumen Api Versioning

A package that allows you to have a fallback version for your Lumen api

Description

This package allows you to have fallback versions for your api. Basically if you have v1 in place and you want to update your app to v2 but you don't have time to update all methods, this pack allows you to take a break. Eg. #1 api.dev/v2/users will fallback to api.dev/v1/users if v2 is not found Eg. #2 api.dev/v3/users will fallback to api.dev/v2/users if found, if not api.dev/v1/users

Installation

    composer require iambib/lumen-api-versioning

config file Create a config file named api-versioning.php and add the following lines

return [
    /**
     * Enable the fallback
     */
    'enable' => true,
    /**
     * Available api versions
     */

    'available_versions' => [
        'v1',
        'v2',
    ],
    /**
     * Set them in order you want the fallback to happen
     * Eg. If v4 is not found v3 is the first one to check if exists. If not, v2 then v1.
     */
    'api_fallbacks' => [
        'v3', 'v2', 'v1',
    ],
    /*
     * URL segment number of your api version
     */
    'segment_no' => 0,
];

bootstrap/app.php

	$app = new \iAmBiB\ApiVersionFallback\Extension\Application(
		$_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
	);
 	...
   $app->middleware([
		...
		'api_versioning_fallback' => \iAmBiB\ApiVersionFallback\Middleware\ApiVersioningFallback::class,
	]);
	...
	$app->configure('api-versioning');

Support

Hey dude! If you like it .. well beers or a coffee would be nice :D

coffee