Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
# ----- URL path versioning (most common) ----- GET /api/v1/users/42 HTTP/1.1 GET /api/v2/users/42 HTTP/1.1 <- breaking change warrants new version # Laravel routes/api.php Route::prefix('v1')->group(function () { Route::apiResource('users', V1\UserController::class); Route::apiResource('posts', V1\PostController::class); }); Route::prefix('v2')->group(function () { Route::apiResource('users', V2\UserController::class); Route::apiResource('posts', V2\PostController::class); }); # ----- Header versioning ----- GET /users/42 HTTP/1.1 Accept: application/vnd.myapi.v2+json # ----- Query string versioning ----- GET /users/42?version=2 HTTP/1.1 # ----- Sunset header: deprecate old versions ----- GET /api/v1/users/42 HTTP/1.1 HTTP/1.1 200 OK Sunset: Sat, 31 Dec 2025 23:59:59 GMT Deprecation: Mon, 01 Jan 2025 00:00:00 GMT Link: <https://api.example.com/v2/users/42>; rel="successor-version" { "id": 42, "name": "Alice" }
Result
Open