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