Back to questions
Junior — Middle
87
Какие основные принципы лежат в основе RESTful API и как они реализуются?
Answer from AI
sobes.tech AI
RESTful API основывается на нескольких ключевых принципах:
- Клиент-серверная архитектура — клиент и сервер разделены, что позволяет им развиваться независимо.
- Отсутствие состояния (stateless) — каждый запрос от клиента к серверу должен содержать всю необходимую информацию, сервер не хранит состояние между запросами.
- Кэширование — ответы могут быть кэшированы для повышения производительности.
- Единообразие интерфейса — используется стандартный набор методов HTTP (GET, POST, PUT, DELETE и др.) и четкое определение ресурсов через URL.
- Многоуровневая система — архитектура может иметь несколько уровней (прокси, балансировщики и т.д.), не влияющих на взаимодействие клиента и сервера.
- Код по требованию (опционально) — сервер может передавать исполняемый код клиенту.
Реализация в Node.js обычно включает:
- Определение ресурсов через маршруты (например,
/users,/products). - Использование HTTP-методов для операций CRUD:
- GET — получение данных
- POST — создание
- PUT/PATCH — обновление
- DELETE — удаление
- Отправка ответов с правильными статусами HTTP (200, 201, 404, 500 и т.д.).
Пример простого RESTful маршрута на Express.js:
const express = require('express');
const app = express();
app.use(express.json());
let users = [];
app.get('/users', (req, res) => {
res.json(users);
});
app.post('/users', (req, res) => {
const user = req.body;
users.push(user);
res.status(201).json(user);
});
app.listen(3000);