Платформа REST API. Рекомендуемое поведение для недопустимого параметра строки запроса

Я реализую REST API Framework, и мне интересно, каково рекомендуемое поведение, когда клиент отправляет недопустимый параметр строки запроса.

Я проиллюстрирую, что я имею в виду, на конкретном примере: Скажем, у меня есть обработчик API в конечной точке /api/contacts/, и обработчик предоставляет фильтр строки запроса с именем id, который позволяет клиентам выбирать определенные контакты с предоставленными идентификаторами.

Таким образом, запрос GET или DELETE может быть /api/contacts/?id=2&id=4&id=lalalala.

Очевидно, что не существует такого понятия, как Контакт с id=lalalala. Как в этом случае должен вести себя сервер?

  • Игнорировать недопустимый контакт с id=lalalalaи фильтровать только контакты с допустимыми идентификаторами 2 и 4.

  • Ответить с кодом ошибки, указывающим на эту ошибку. Если да, то какой код ошибки следует указать?

Заранее спасибо.

Изменить: уточнить; Основное внимание в разрабатываемой мной структуре уделяется предсказуемому поведению и, следовательно, кодам ответов. По этой причине я хочу, чтобы клиенты, использующие API, построенный на этой платформе, ожидали как можно меньше сюрпризов.Итак, вопрос в основном таков: должен ли API возвращать ошибку в этом случае (и если да, то какую)? Или игнорировать недопустимые записи фильтра и фильтровать только правильные параметры строки запроса?

18
задан Charalambos Paschalides 27 March 2012 в 14:25
поделиться