URL дизайн на собеседовании системного аналитика
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
REST URL conventions
Resources — nouns, не verbs.
GOOD:
GET /orders — list
GET /orders/42 — single
POST /orders — create
PUT /orders/42 — replace
PATCH /orders/42 — partial update
DELETE /orders/42 — delete
BAD:
POST /createOrder
GET /getOrderById?id=42Nested:
GET /orders/42/items — items для order 42
GET /users/99/orders — orders для user 99Глубже 2-3 levels — антипаттерн.
Plural vs singular
Plural. Standard. /orders, /users.
Singular. Иногда для singleton (/me, /profile).
Consistency важна — не mix.
Versioning
URL. /v1/orders, /v2/orders. Most popular.
Header. Accept: application/vnd.api.v2+json. Cleaner URLs, but harder debug.
Query param. /orders?version=2. Anti-pattern.
URL versioning — practical default.
Query parameters
Filtering: ?status=paid&country=RU.
Pagination: ?limit=20&cursor=abc или ?page=2.
Sorting: ?sort=created_at&order=desc.
Sparse fieldsets: ?fields=id,name.
Включение: ?include=customer,items (relations).
JSON:API spec gives stadnards.
Slugs
URL-friendly identifiers.
/articles/how-to-write-clean-code
/products/iphone-15-proGeneration. Lowercase, hyphenate, transliterate.
Stability. Slug change breaks links. Either:
- Immutable slug — no changes after creation.
- Redirects от old к new.
Связанные темы
- REST API на собесе SA
- HTTP методы и коды для SA
- Pagination cursor vs offset для SA
- OpenAPI и Swagger для SA
- Подготовка к собесу системного аналитика
FAQ
Это официальная информация?
Нет. Статья основана на REST best practices, JSON:API spec.
Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.