-

Что такое URI и зачем он нужен в REST API - блог компании Клеверенс

Что такое URI и зачем он нужен в REST API

URI (Uniform Resource Identifier) — это унифицированный идентификатор ресурса, то есть строка, которая однозначно определяет ресурс в интернете. В контексте REST API URI является обязательным элементом, так как он указывает на конкретный объект или коллекцию объектов, с которыми хочет взаимодействовать клиент.

REST (Representational State Transfer) построен на идее взаимодействия с ресурсами через универсальные и понятные адреса. Поэтому правильное построение и понимание URI имеет ключевое значение для проектирования API, соответствующего лучшим практикам. Без URI невозможен сам REST подход.

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

Структура URI в REST API

Каждый URI состоит из нескольких компонентов. Некоторые из них обязательны, другие используются опционально. Вот основные части стандартного URI:

Например, URI https://example.com/api/v1/products/123 означает запрос к ресурсу "продукт с ID 123" в версии 1 API.

Такая четкая структура помогает как разработчикам, так и системам понимать, какие ресурсы доступны, как к ним обращаться и что от них ожидать. Она также поддерживает масштабируемость REST API за счёт декомпозиции адресов по логике предметной области.

Как работает URI в REST API

В REST API URI указывает на ресурс, а HTTP-метод (GET, POST, PUT, DELETE и т.д.) — на операцию, которую необходимо произвести с этим ресурсом. Это разделение является фундаментом RESTful архитектуры.

Вот пример взаимодействия:

URI в данном случае определяет "что", а метод — "что делать". Это делает API понятным, предсказуемым и легким для интеграции.

Подробнее о REST API и его применении можно прочитать в статье REST API: что это такое, примеры запросов и методы.

RESTful URI и идентификатор ресурса

Хорошо спроектированный REST API использует RESTful URI, соответствующий следующим принципам:

  1. Использование существительных вместо глаголов (например, /users, а не /getUsers)
  2. Явное определение ресурса по ID (/users/42)
  3. Иерархическая структура маршрутов, отражающая взаимосвязь между объектами

Идентификатор ресурса, как правило, передаётся в виде части пути. Например:

GET /companies/154/employees/97 — возвращает информацию о сотруднике с ID 97 компании с ID 154.

Такой подход обеспечивает интуитивно понятную маршрутизацию между связанными сущностями системы.

Пример API URI и путь к ресурсу

Рассмотрим пример API URI в системе управления заказами:

МетодURIОписание
GET/api/v1/customersПолучить список клиентов
GET/api/v1/customers/301Получить клиента с ID 301
POST/api/v1/customersСоздать нового клиента
PUT/api/v1/customers/301Обновить клиента
DELETE/api/v1/customers/301Удалить клиента

Таким образом, URI выполняет роль прямого маршрута для выполнения требуемых операций с чётким разграничением действия только по HTTP-методу, а не по форме URI.

REST URI: синтаксис и правила названий

Несмотря на кажущуюся простоту, URI в REST API должен соответствовать определённым правилам, особенно когда речь идет о масштабируемых или публичных сервисах.

Вот общие рекомендации по формированию RESTful URI:

Соблюдение этих принципов улучшает читаемость, снижает вероятность ошибок и упрощает работу внешним разработчикам.

FAQ: Часто задаваемые вопросы

Что означает URI в API?

URI в API — это путь к ресурсу. Он указывает REST-серверу, с каким объектом работать, будь то клиент, товар или заказ.

Чем отличается URI от URL?

URL — это частный случай URI, включающий схему и адрес доступа. URI может быть общим идентификатором ресурса, не всегда доступным по сети.

Для чего нужен путь в URI?

Путь в URI указывает на местоположение ресурса на сервере. Это ключевой элемент маршрутизации в REST API.

Какой формат у RESTful URI?

RESTful URI использует подход: база + коллекция/ресурс/идентификатор, например /api/v1/products/25. Он избегает глаголов и следит за иерархией.

URI должен быть человекочитаемым?

Да, однозначный, короткий и читаемый URI облегчает поддержку, документацию и разработку интеграций.

Всё больше компаний в 2025 году строят API-интерфейсы, соответствующие REST парадигме — в таких проектах понимание структуры и назначения URI выходит на первый план. Это особенно важно при разработке микросервисных архитектур и внешних API для интеграций с деловыми партнёрами.