0x01AA Ответов: 1

REST api, лучший практический вопрос


Уважаемые эксперты
Я очень новичок в отдыхе и много читаю об этом. В данный момент у меня есть тривиальный вопрос.
Допустим, у нас есть сущность "поставщики"
suppliers
  SupplierId
  SupplierName
  ...
Чтобы повторно получить список поставщиков, REST api поддерживает
GET /suppliers

Теперь, чтобы найти конкретного поставщика, я вижу две возможности:
a.) GET /suppliers/{Id}
b.) GET /suppliers?Id={Id}

У меня сложилось впечатление, что обычно используется а.) поэтому мой вопрос: Какие аргументы не следует использовать б.) ?

Заранее большое вам спасибо за некоторые подсказки.

Что я уже пробовал:

Много читаю об отдыхе................

0x01AA

работает?

1 Ответов

Рейтинг:
12

RickZeeland

Если возможно, используйте A, но если вы хотите применить один или несколько фильтров, используйте B.
Смотрите статью здесь: REST: хорошие практики для проектирования API – HashmapInc – Medium[^]

Также видеть: RESTful-Сервисы Советы[^]

Цитата:
Используйте идентификаторы в URL-адресах, а не в строке запроса. Использование параметров строки запроса URL-адреса является фантастическим для фильтрации, но не для имен ресурсов
Если вы ищете база отдыха, взгляните на: https://www.slant.co/topics/1397/~веб-фреймворков для создания веб-рест-АПИ[^]


0x01AA

"один или несколько фильтров": _one_ будет ?Id={Id} :-)

RickZeeland

Да, вы вольны делать все, что хотите, но это не считается хорошей практикой ...

0x01AA

Спасибо за это. В 5

RickZeeland

Я отдыхаю моем случае :)