REST API - фильтр запросов GET по идентификаторам - PullRequest
1 голос
/ 25 июня 2019

Допустим, у меня есть конечная точка индекса для перечисления единиц GET /projects/1/units/?id[]=1,2,3

и юниты с идентификаторами (1,2) принадлежат проекту с идентификатором (1), но юниты с идентификатором (3) не принадлежат этому проекту

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

Ответ должен быть 200 со списком доступных единиц или 400 Неверный запрос, потому что единица с id = 3 не принадлежит проекту?

Спасибо

1 Ответ

2 голосов
/ 25 июня 2019

REST ничего не говорит о поиске или возможности извлечения нескольких вещей за один вызов API.Помните, что API REST должны использовать гипермедиа для указания своего состояния.Это означает, что у вас может быть API, который перечисляет единицы измерения для конкретного проекта в виде ссылок.

GET /projects/1/units

{
  'self': {...}
  'links': [
    {
      'rel': 'unit',
      'href': '/projects/1/unit/1',
      'type': 'project.unit'
    },
    {
      'rel': 'unit',
      'href': '/projects/1/unit/2',
      'type': 'project.unit'
    }
  ]
}

Обратите внимание, что если единица 3 не существует как часть проекта 1, вам следует возвращать статус http404.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...