Я реализую 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 возвращать ошибку в этом случае (и если да, то какую)? Или игнорировать недопустимые записи фильтра и фильтровать только правильные параметры строки запроса?