1.
Клиент-серверная архитектура - модель взаимодействия, при которой клиент
отправляет запросы, а сервер обрабатывает их и возвращает ответы. Клиентом
может быть браузер или мобильное приложение. Сервер выполняет бизнес-логику,
обрабатывает данные и обеспечивает доступ к ресурсам. API представляет собой
контракт взаимодействия, определяющий адреса запросов, методы, заголовки,
форматы данных, возможные ошибки и требования к аутентификации.
2. Ресурс в REST
API - объект или коллекция объектов, доступных через определённый URI.
Например, /api/books обозначает коллекцию книг, а /api/books/7 — конкретную
книгу с идентификатором 7. REST организует взаимодействие вокруг ресурсов, а
HTTP-методы определяют действия над ними.
3. CRUD
обозначает четыре основные операции с данными: Create — создание, Read —
чтение, Update — изменение и Delete — удаление. В HTTP для чтения обычно
применяется GET, для создания — POST, для полной замены ресурса — PUT, для
частичного изменения — PATCH, для удаления — DELETE. Выбор метода должен
соответствовать назначению операции.
4. JSON -
текстовый формат представления структурированных данных с помощью объектов,
массивов и значений. Он широко используется для обмена информацией между
клиентом и сервером. Валидация необходима для проверки обязательных полей,
типов, форматов и допустимых диапазонов значений. Сервер должен самостоятельно
проверять данные, даже если проверка уже выполнялась в браузере, поскольку
клиентские проверки можно обойти.
5. Код 200 OK
означает успешный запрос, 201 Created — создание ресурса, 204 No Content —
успешный ответ без тела. Код 400 Bad Request сообщает об ошибке данных, 401
Unauthorized — о необходимости аутентификации, 403 Forbidden — об отсутствии
разрешения на операцию. Версионирование API помогает изменять интерфейс без
нарушения работы существующих клиентов. Документация, например в формате
OpenAPI, описывает маршруты, методы и схемы данных. Для больших коллекций могут
использоваться пагинация, сортировка и фильтрация.