TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Аналитик на Балтике | Неверов Станислав

15 Apr 2025, 08:34

Открыть в Telegram Поделиться Пожаловаться

Проектирование API: от целей к REST API

REST API представляет свои цели, используя протокол HTTP. Цели переносятся в пары типа «ресурс и действие». Ресурсы идентифицируются путями, а действия представлены методами HTTP.
🔚Но как идентифицировать эти ресурсы и действия❓
🔚И как обозначать их, используя пути и методы HTTP❓

Мы делаем то, что всегда делалось при проектировании программного обеспечения — анализируем наши функциональные потребности для определения ресурсов и того, что с ними происходит, прежде чем переносить их в программное представление. Существует множество методов проектирования программного обеспечения, которые можно использовать для идентификации ресурсов и того, что можно с ними делать, основываясь на таких спецификациях, как таблица API-целей.

➖Рассмотри очень простой метод, состоящий из четырех этапов:
🔚Сначала мы должны идентифицировать ресурсы — функциональные концепции и их связь — как они организованы.
🔚Затем нужно определить доступные действия для каждого ресурса, их параметры и результаты.
🔚Как только это будет сделано, мы сможем перейти к фактическому проектированию программного интерфейса, создав пути к ресурсам.
🔚Затем выберем HTTP-методы для обозначения действий.
Смотрим схему.

Сейчас мы говорим только о номинальном случае, когда все в порядке – 200 OK.

➖Советы по проектированию
➡️Идентификация ресурсов:
🔚Пример ресурсов:
/users — пользователи
/orders — заказы.
🔚Пример связей:
Заказы принадлежат пользователю → /users/{userId}/orders.
➡️Важно:
🔚Используйте множественное число для имен ресурсов (/users, а не /user).
🔚Избегайте глаголов в путях (например, /getUsers — плохо).

➖Определение действий и параметров
🔚Для каждого ресурса продумайте:
🔚Какие действия возможны — CRUD: Create, Read, Update, Delete.
🔚Какие параметры передаются — в теле запроса, URL или заголовках.
🔚Что возвращает API — например, JSON-объект или статус.

➖Проектирование URL-путей
➡️Правила для URL:
🔚Иерархичность: /ресурс/{id}/подресурс.
🔚Пример: /users/{userId}/orders/{orderId}.

➡️Стабильность: Избегайте изменений путей после публикации API.

➡️Версионирование: Добавляйте версию в URL или заголовки

➖Выбор HTTP-методов
Сопоставьте методы HTTP с действиями:
Метод → Действие → Пример
GET → Чтение → GET /users
POST → Создание → POST /users
PUT → Полное обновление → PUT /users/{id}
PATCH → Частичное обновление → PATCH /users/{id}
DELETE → Удаление → DELETE /users/{id}

#аналитик #навыкАналитика #API #IT

718 0 12 1 20
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot