Ответ
REST (Representational State Transfer) — это архитектурный стиль, который использует стандартные методы HTTP (GET
, POST
, PUT
, DELETE
) для создания веб-сервисов. Благодаря своей простоте, масштабируемости и отсутствию состояния (stateless), он стал стандартом для многих систем.
Основные сферы применения:
-
Веб-приложения (SPA): Взаимодействие между фронтендом (React, Vue, Angular) и бэкендом. REST API позволяет полностью отделить логику представления от бизнес-логики на сервере.
-
Мобильные приложения: Обмен данными между мобильным клиентом (iOS, Android) и сервером, как правило, в формате JSON.
-
Микросервисная архитектура: Коммуникация между независимыми сервисами по протоколу HTTP. Простота и повсеместная поддержка HTTP делают REST удобным выбором для синхронного взаимодействия.
-
Интеграция со сторонними сервисами (Public API): Предоставление публичного доступа к данным и функциям (API для платежных систем, социальных сетей, картографических сервисов).
Ключевое преимущество REST — использование общепринятых стандартов HTTP, что делает его понятным и легко интегрируемым в любую систему, способную отправлять HTTP-запросы.
Пример простого REST API на Flask:
from flask import Flask, jsonify, request
app = Flask(__name__)
# Ресурс "items"
items = {
1: {"name": "Laptop", "price": 1200},
2: {"name": "Mouse", "price": 25}
}
# Получить все ресурсы (GET /items)
@app.route('/items', methods=['GET'])
def get_items():
return jsonify(items)
# Создать новый ресурс (POST /items)
@app.route('/items', methods=['POST'])
def add_item():
new_item_id = max(items.keys()) + 1
items[new_item_id] = request.json
return jsonify(items[new_item_id]), 201 # 201 Created