Я проектирую RESTful API и столкнулся с проблемой заголовка, для ясности:
Должен ли я быстро потерпеть неудачу, если клиент отправляет нераспознанный параметр? Например,
http://example.com/api/foo?bar=true&paula=bean
Выше указан bar
допустимый параметр, но paula
он не указан API. Нужно ли мне
- Предупредить клиента об ошибке
- Терпеть неудачу быстро
- Игнорируй это
Если я предупреждаю клиента, я могу выдать предупреждение только для первого параметра, поскольку он может отправлять почти бесконечное число из них, и у сервера, вероятно, есть более важные задачи. Точно так же, при сбое, он будет указывать только первый неверный параметр в качестве проблемы.
Я предпочитаю отказ, а не выдачу предупреждения, чтобы заставить программиста принять меры, так как в противном случае они могли бы игнорировать проблему и продолжать тратить ресурсы или в конечном итоге непреднамеренно завладеть грузом. Ничего не делать в этом отношении еще хуже.
Мои аргументы имеют смысл? Есть ли принятая практика на такие вещи?
api/v1
и т. Д. Позаботится об этом, но все равно не допускает дополнительных обновлений. +1