Разработка REST API для элемента ресурса, который имеет свой идентификатор, а также имеет неуникальный ссылочный номер.Один из наиболее типичных запросов этого API будет выглядеть примерно так:
FindFirstByReference(referenceNumber)
FindLastByReference(referenceNumber)
Каждый из них возвращает один элемент, а не массив из одного элемента.
Я думаю, как это лучше всего сделатьперевести в REST.
(1) Первый вариант - перечислить все элементы, отфильтрованные по ссылке и с дополнительным атрибутом return_one
(который может быть first
или last
изсписок)
GET /items?reference=123&return_one=first
Проблема этого подхода в том, что изменение формы ответа из-за наличия или отсутствия атрибута return_one
кажется неправильным.
(2) Второй вариант - выбрать подресурс массива элементов, возвращаемый запросом.
GET /items?reference=123/first
(3) Третий вариант - использовать ссылочный атрибут в качестве идентификатора, чтобывыберите только один.
GET /items/reference=123&return_one=first
Это может сбивать с толку, поскольку разница между (1) и (3) составляет всего один символ.
Кажется ли, что какой-либо из этих параметров работает нормально?Есть ли другой вариант, который я должен рассмотреть?Спасибо.