REST Beyond the Obvious - API Design for Ever-Evolving Systems
Most APIs built today are considered REST APIs these days, when in fact they merely exchange data via HTTP and JSON. At the same time, systems almost never act autonomously but rather live alongside others. In that context, being able to evolve an API becomes a crucial aspect in its design and the only knee-jerk, but often problematic reaction usually is: versioning.
The talk takes a step back and looks at the architectural context APIs live in and outlines the drawbacks that result from ignoring crucial parts of REST. It discusses internal VS. external APIs, whether that distinction is useful in the first place, the impact of Domain-Driven Design and how to design and specify APIs and their clients to optimize for evolvability so that changes in an API dont break clients.
Spring Data Lead, Pivotal