Beyond REST maturity levels:



Real life, high-load REST APIs


ConFoo, Montreal - February 26th, 2016

© David Buchmann

You've got a "situation"

Delivering Data

API: Symfony Application

API: Versioning

/**
 * The description as HTML
 *
 * @Serializer\Since("2")
 * @Serializer\Type("string")
 */
public $description;
Api-Version: 2
        
/**
 * Plain text version of description.
 *
 * @Serializer\Until("1")
 * @Serializer\Type("string")
 * @Serializer\VirtualProperty
 * @Serializer\SerializedName("description")
 *
 * @return string
 */
public function getDescriptionPlaintext() {
    return strip_tags($this->description);
}

Varnish Cache

Varnish Cache: Access Control

Varnish Cache: Routing

Varnish Cache: Increase Cache Hits

Get people to use your API

Documentation