Я внедряю REST API Framework, и мне интересно, что такое рекомендуемое поведение, когда клиент отправляет недопустимый параметр запроса.
Я проиллюстрирую, что я имею в виду с конкретным примером:
Скажем, у меня есть обработчик API на /api/contacts/endpoint, а обработчик предоставляет фильтр с именем id
, который позволяет клиентам выбирать определенные контакты с предоставленными идентификаторами.
Таким образом, запрос GET или DELETE может быть /api/contacts/?id=2&id=4&id=lalalala
.
Очевидно, что нет контакта с id=lalalala
. В этом случае, что должен вести сервер, как?
-
Игнорировать недействительный контакт с
id=lalalala
и только фильтровать контакты на действительных идентификаторах 2 и 4. -
Отвечайте с кодом ошибки, указывающим эту ошибку. Если да, то какой код ошибки должен быть предоставлен?
Спасибо заранее.
Изменить: уточнить; Основное внимание в рамках структуры, которую я разрабатываю, имеет предсказуемое поведение и, следовательно, коды ответов. По этой причине я хочу, чтобы клиенты, потребляющие API, основанные на этой структуре, ожидали наименьших возможных сюрпризов. Итак, в основном вопрос: должен ли API возвратить ошибку в этом случае (и если да, то какой)? Или игнорировать недопустимые записи фильтра и фильтровать только правильные параметры запроса?