Подтвердить что ты не робот

REST api: запрос нескольких ресурсов в один get

Я пытаюсь создать RESTful API, где пользователи могут получать один продукт или список продуктов в одном запросе GET. Каждый продукт имеет уникальный идентификатор.

URL одного продукта достаточно прост:

http://mycompany.com/api/v1/product/id

Это возвращает информацию для одного продукта. Я смущен относительно того, как должен выглядеть URL-адрес для информации о нескольких продуктах.

Как насчет

http://mycomapny.com/api/v1/product/ids

где ids - список идентификаторов, разделенных запятой?

4b9b3361

Ответ 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