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

Другие вопросы по тегам