Я розробляю API RESTful і стикаюся з проблемою заголовка, перезавантаженою для ясності:
Чи потрібно швидко відмовитися, якщо клієнт надсилає нерозпізнаний параметр? Наприклад,
http://example.com/api/foo?bar=true&paula=bean
У вищесказаному bar
є допустимим параметром, але paula
не визначений API. Чи я повинен
- Попередити клієнта про помилку
- Збій швидко
- Ігноруйте це
Якщо я попередив клієнта, я можу винести лише попередження для першого параметра, оскільки вони можуть надсилати майже нескінченну кількість, і сервер, мабуть, має кращі справи. Аналогічно, у разі відмови, він би вказав лише перший недійсний параметр як проблему.
Я вважаю за краще невдачу надсилати попередження, щоб змусити програміста вжити заходів, оскільки вони в противному випадку можуть ігнорувати проблему і продовжувати витрачати ресурси, або в результаті потрапляють у вантаж безвідмовно. Не робити нічого гіршого в цьому відношенні.
Чи мають сенс мої аргументи? Чи є прийнята практика щодо таких речей?
api/v1
тощо би подбало про це, але воно все ще не дозволяє додаткові оновлення. +1