Sobes.tech
Назад к вопросам
Junior — Middle
62

Что такое REST и как определить, что функция соответствует принципам RESTful API?

Ответ от нейросети

sobes.tech AI

REST (Representational State Transfer) — архитектурный стиль для построения веб-сервисов, основанный на использовании стандартных HTTP-методов и принципах взаимодействия с ресурсами.

Основные признаки RESTful API:

  • Использование HTTP-методов по назначению:

    • GET — получение ресурса
    • POST — создание ресурса
    • PUT/PATCH — обновление ресурса
    • DELETE — удаление ресурса
  • Идентификация ресурсов через URL (например, /users/123 — пользователь с ID 123).

  • Отсутствие состояния на сервере (stateless): каждый запрос содержит всю необходимую информацию.

  • Использование стандартных кодов ответа HTTP.

  • Возможность представления ресурса в разных форматах (JSON, XML и др.).

Пример функции во Flask, соответствующей REST:

from flask import Flask, jsonify, request
app = Flask(__name__)

users = {"1": {"name": "Alice"}}

@app.route('/users/<user_id>', methods=['GET'])
def get_user(user_id):
    user = users.get(user_id)
    if user:
        return jsonify(user), 200
    else:
        return jsonify({"error": "User not found"}), 404

Здесь функция обрабатывает GET-запрос к ресурсу пользователя, возвращая данные или ошибку, что соответствует REST-принципам.