Book Image

CakePHP 2 Application Cookbook

Book Image

CakePHP 2 Application Cookbook

Overview of this book

Table of Contents (20 chapters)
CakePHP 2 Application Cookbook
About the Authors
About the Reviewer

API versioning

As time goes by, you'll find that an API changes and evolves. However, when others are interacting with your API, it's important to be coherent about where certain functionality exists and maintain a clear versioning of the actions available and their characteristics.

In this recipe, we'll look at how you can implement different API-versioning techniques to help maintain consistency in your API and promote a stable longevity.

Getting ready

We'll be using the code we created in a previous recipe to create a web service and extend it to allow for versioning of the API we defined.

How to do it...

Perform the following steps:

  1. Update the route for the API action that we added in a previous recipe; it will be used just for authentication purposes:

    Router::connect('/api/access/*', array(
      'controller' => 'api',
      'action' => 'delegate',
  2. Add a new route for the versioned API:

    Router::connect('/api/:version/:object/:command', array(
      'controller' => 'api',