Загрузка…
Загрузка…
Node.js · middle · сложность 5
Стратегии управления версиями:
/api/v1/users
,
/api/v2/users
/api/users?version=1
Accept: application/vnd.api+json;version=1
Accept: application/vnd.myapi.v1+json
v1.api.example.com
,
v2.api.example.com
Пример реализации:
// URL path versioning with Express
const express = require('express');
const app = express();
// Version 1 routes
const v1Router = express.Router();
v1Router.get('/users', (req, res) => {
res.json({ version: 'v1', users: [] });
});
// Version 2 routes
const v2Router = express.Router();
v2Router.get('/users', (req, res) => {
res.json({ version: 'v2', users: [], metadata: {} });
});
app.use('/api/v1', v1Router);
app.use('/api/v2', v2Router);
// Header-based versioning
app.use('/api', (req, res, next) => {
const version = req.headers['api-version'] || 'v1';
req.apiVersion = version;
next();
});Управление версиями:
Стратегии миграции:
Лучшие практики:
Ключевой вывод для интервью: объясните, как реализовать управление версиями API в сервисах RESTful и управлять ими.