5 min read
ā¢Question 9 of 28mediumHow do you version an API?
Understanding API versioning strategies.
What You'll Learn
- Why version APIs
- Versioning strategies
- Best practices
Why Version?
- Make breaking changes without breaking clients
- Support multiple versions simultaneously
- Gradual migration path
Versioning Strategies
1. URL Path (Most Common)
code.jsJavaScript
GET /api/v1/users
GET /api/v2/users2. Query Parameter
code.jsJavaScript
GET /api/users?version=1
GET /api/users?version=23. Header
code.jsJavaScript
GET /api/users
Accept: application/vnd.api+json;version=14. Content Negotiation
code.jsJavaScript
GET /api/users
Accept: application/vnd.company.v1+jsonImplementation Example
code.jsJavaScript
// Express.js with URL versioning
const express = require('express');
const app = express();
// Version 1
app.use('/api/v1', require('./routes/v1'));
// Version 2
app.use('/api/v2', require('./routes/v2'));
// Or with a router
const v1Router = express.Router();
v1Router.get('/users', (req, res) => {
res.json({ version: 1, data: users });
});Best Practices
- Use URL path versioning for simplicity
- Support at least 2 versions
- Deprecate old versions with notice
- Document breaking changes