TGViewer
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ GetAnalyst - Навыки • Системный анализ • Бизнес-анализ @getanalysts · 22.5K subscribers
Post #3100 4.43K
🐞 Разбор вопросов с подвохами по REST API: какой HTTP-метод + URL выбрать? 🐞

От того, как вы выбираете метод + URL, зависит, будет ли ваш REST API понятным и предсказуемым для клиентов и команды.

В этом посте разберём типовые ошибки в дизайне эндпоинтов — те самые, из-за которых потом появляются “костыли”, споры в чатах и переделки.


API-метод:
👉 Получение списка вакансий
[результаты]


❌ A. POST .../api/v1.1/jobs/search

Получение, просмотр, поиск - это всё про метод GET.
Метод POST - для создания данных в БД.

Да, так делают. Но это уже просто HTTP API, без стиля REST.


❌ B. GET .../api/jobs/v1.1/list

Две ошибки в одном методе и 14% голосов 🥲

1. Версию рекомендуется делать ДО указания ресурса / объекта данных (jobs), которым управляют.

2. Никакого list не надо! По стандарту GET /jobs/{jobId} получить конкретную вакансию, а GET /jobs без id - список.


✅ C. GET .../api/v1.1/jobs
Тут всё идеально с точки зрения дизайна REST API.


❌ D. POST .../api/v1.1/jobs
Метод POST - для создания данных в БД.
Это метод "Создать вакансию".


✅ E. GET .../api/v1.1/job

Тут всё отлично, но голосов мало.
Почему не выбрали?
👉 Единственное число в эндпоинте - это ок для REST API. Писала об этом тут.


▫️ F. GET .../api/v1.1/public/jobs

Ок, но не ок.
Если public - название каталога API на сервере, то лучше его делать ДО версии, а не после.
Вариант допустим, но не лучший.


▫️ G. GET .../api/v1.1/candidate/jobs

Ок, но не ок.
Проблема как и выше, но тут считаем, что API для кандидата и название каталога API - candidate?

Сейчас метод читается как "получить вакансии кандидатов...?".


❌ H. GET https://jobmatchga.api.com/v1.1/jobs

Здесь с точки зрения порядка в базовом URL api.com оказывается основным сайтом системы, что неверно.
Поддомен для API делают иначе.


✅ I. GET https://api.jobmatchga.com/public/
v1.1/jobs

Тут всё отлично.
API находится на поддомене основного сайта jobmatchga.com.
Дизайн отличный и почему-то так мало голосов 😃
Пример в Avito



—-
Подсказки:
📚 Как выбирать методы: GET, POST, PUT, PATCH, DELETE
📚 Правила проектирования URL
—-


Запоминайте ошибки и будьте внимательны в будущем. Не попадайтесь! 🤝

#RestApiGA #JobMatchGA
  • 🔥 21
  • ❤ 11
  • ❤‍🔥 3
  • ⚡ 1
  • 👍 1
More from @getanalysts
  1. Oct 5, 2026🔣🔣 Бесплатный практикум по асинхронной интеграции с ИИ — только ДО ЗАВТРА 🔡🔡 📌 Полезн…
  2. Oct 5, 2026🅰️🔠 API Gateway и AI Gateway: в чём разница? API Gateway уже стал привычным компонентом…
  3. Oct 4, 2026«Я боялась технической части»: как гуманитарию начать осваивать системный анализ Кристина…
  4. Oct 3, 2026🎁🚀 GetAnalyst сегодня на Стачке: ищите Юлию и забирайте подарки Похоже, у GetAnalyst офи…
  5. Oct 2, 2026📌 [Доступ открыт до 6 октября] Асинхронная интеграция с ИИ-сервисом 📌 Один сквозной кейс…
  6. Oct 1, 2026🎓 Системный аналитик: с нуля до опыта работы на проекте [начинаем сегодня] 🎓 Сегодня, 1…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →