Какие знаешь признаки RESTful сервиса
Python
Senior
Без компании
Какие знаешь признаки RESTful сервиса
Ответы
RESTful сервис следует принципам REST (Representational State Transfer):
- **Клиент-серверная архитектура** – разделение клиента и сервера для независимого масштабирования.
- **Stateless** – каждый запрос содержит всю необходимую информацию, сервер не хранит состояние клиента.
- **Кэширование** – ответы могут кэшироваться для повышения производительности.
- **Единообразие интерфейса** – стандартизация взаимодействия (HTTP методы, URI).
- **Слоистая система** – клиент не знает, взаимодействует ли он напрямую с сервером или через промежуточные узлы.
- **Ресурсы** – данные представлены в виде ресурсов (например, `/users`, `/posts`).
- **HTTP методы** – используются по назначению:
- `GET` – получение данных
- `POST` – создание
- `PUT/PATCH` – обновление
- `DELETE` – удаление
Пример RESTful API:
```
from flask import Flask, jsonify, request
app = Flask(__name__)
users = [{"id": 1, "name": "Alice"}]
@app.route('/users', methods=['GET'])
def get_users():
return jsonify(users)
@app.route('/users', methods=['POST'])
def add_user():
new_user = request.json
users.append(new_user)
return jsonify(new_user), 201
```