Лучшая практика:
Вероятно, лучше не указывать версии в URL и сделать новые ресурсы обратно совместимыми со старыми.
Обратная совместимость:
Если вам нужно сохранить v1 в URL-адресе и создавать v2-URL-адреса, вам нужно решить, хотите ли вы поддерживать оба формата или сделать старый v1 устаревшим. Если вы решите сделать старый v1 устаревшим, я бы порекомендовал вернуть 303 или 401 для любого, кто запрашивает URL v1.
Устаревшие старые URL-адреса:
Я бы рекомендовал использовать 303 См. Другое. Или, если нет соответствующего перенаправления, используйте 410 Gone.
Источник
303 См. Другое
Ответ на запрос может быть
найдено под другим URI и ДОЛЖНО
быть получены с помощью метода GET на
этот ресурс. Этот метод существует
в первую очередь, чтобы позволить вывод
POST-активированный скрипт для перенаправления
пользовательский агент для выбранного ресурса.
новый URI не является заменой ссылки
для первоначально запрошенного ресурса.
Ответ 303 НЕ ДОЛЖЕН кэшироваться,
но ответ на второй
(перенаправленный) запрос может быть
кэшируется.
Другой URI ДОЛЖЕН быть задан
поле Расположение в ответе.
Если метод запроса не был HEAD,
субъект ответа ДОЛЖЕН
содержать краткую гипертекстовую заметку с
гиперссылка на новый URI.
Примечание: многие пользовательские агенты до HTTP / 1.1 не понимают 303
статус. Когда совместимость с такими клиентами является проблемой,
Вместо этого можно использовать код состояния 302, так как большинство пользовательских агентов реагируют
на ответ 302, как описано здесь для 303.
Документирование всего:
Главное, о чем нужно беспокоиться, это то, что вы решили вернуть, просто запишите это в документацию. Вы можете решить, как вы хотите, чтобы ваша служба работала, а другие, которые захотят ее использовать, будут следовать документации.