REST API: запрос нескольких ресурсов за один раз
Я пытаюсь создать RESTful API, где пользователи могут получить один продукт или список продуктов в одном запросе GET. Каждый продукт имеет уникальный идентификатор.
URL одного продукта достаточно прост:
http://mycompany.com/api/v1/product/id
Это возвращает информацию для одного продукта. Я не понимаю, как должен выглядеть URL-адрес для информации о нескольких продуктах.
Как насчет
http://mycomapny.com/api/v1/product/ids
где ids - список идентификаторов, разделенных запятыми?
2 ответа
Ваше предложение идентификаторов, разделенных запятыми, достаточно хорошо.
Было бы поучительно изучить некоторые общедоступные API REST, чтобы увидеть, как они работают. Например, API StackExchange разделяет идентификаторы точкой с запятой - https://api.stackexchange.com/docs/answers-by-ids
Я бы рекомендовал думать об этом так, как будто вы перечисляете несколько представлений ресурса, отфильтрованного по id. Как таковой вы делаете GET
запрос к базовому ресурсу:
https://example.com/api/v1/products
И отфильтруйте список ответов по id
:
https://example.com/api/v1/products?id=1,2,3