Здається, це не стандарт.
У StackOverflow відповідь нахиляється до 410 GONE, але я думаю , що 301 Перенесено ПОСТІЙНО є більш доцільним.
Щоб зробити правильний вибір, ми повинні переглянути ваш конкретний випадок. Якщо ваша мета полягає в тому, щоб усі дзвінки на API v1 були відмовлені, не вживаючи жодних подальших дій, 410 GONE працює для цього. Якщо ви хочете певну послідовність, наприклад перенаправлення клієнта на нову версію вашого API, де їх дзвінок може бути успішним, 3XX працює, але яку ви обираєте? Я думаю, що якщо ви намагаєтесь вимкнути API v1, 301 ПЕРЕМОЖЕНО ПОТРІБНО допомагає вказати, що краще, ніж 303 ВИДІТЬ ІНШЕ, оскільки 301 пропонує всі майбутні запити надсилати до нового URL-адреси, тоді як 303 не вказує, чи є ця ситуація постійний.
Я рекомендую розробити API таким чином, щоб кожна версія залишалася зворотною сумісною, щоб 301 ПЕРЕМЕНЕНО ПОТРІБНО було б прозоро підтримувати ваш API живим та актуальним щоразу, коли ви додаєте нові кінцеві точки для нових версій API. Я думаю, що це все-таки намагаєшся зробити.
Коди статусу HTTP
Код статусу HTTP 302 спочатку був занадто широким і, таким чином, став неправильно реалізований / використаний, тому 303 та 307 були зроблені для розрізнення випадку подвійного використання 302. Деякі API використовують 303 для інших цілей.
301 ПЕРЕМЕНЕНО ПОСТІЙНО - Код стану 301 (переміщений постійно) вказує на те, що цільовому ресурсу присвоєно новий постійний URI і будь-які майбутні посилання на цей ресурс повинні використовувати один із вкладених URI.
302 FOUND - код статусу 302 (знайдений) вказує, що цільовий ресурс тимчасово знаходиться під іншим URI. Оскільки перенаправлення може бути змінено в деяких випадках, клієнт повинен продовжувати використовувати ефективний URI запиту для майбутніх запитів.
303 ВИДІТЬ ІНШЕ - Відповідь 303 на запит GET вказує на те, що сервер-джерело не має представлення цільового ресурсу, який може передаватися сервером через HTTP. Однак значення поля Місцеположення посилається на ресурс, який описує цільовий ресурс, таким чином, що запит на пошук на цьому іншому ресурсі може призвести до представлення, корисного для одержувачів, не маючи на увазі, що воно являє собою вихідний цільовий ресурс.
410 GONE - Код стану 410 (Пройшов) вказує на те, що доступ до цільового ресурсу більше не доступний на початковому сервері і що ця умова, ймовірно, буде постійною. Якщо сервер-джерело не знає або не має можливості визначати, чи є умова постійною чи ні, замість цього слід використовувати код стану 404 (Не знайдено).
Як існуючі API впораються з цим?
Можливо, ви можете скористатися сторінкою з API Youtube на Google :
Якщо запит API не вдається, YouTube поверне код відповіді HTTP 4xx або 5xx, який загалом ідентифікує збій, а також відповідь XML, яка надає більш конкретну інформацію про помилку (і), яка спричинила збій. Для кожної помилки відповідь XML включає елемент домену, елемент коду та, можливо, елемент розташування.
Подальше читання: