Я привык иметь номер версии в самом URL (/v1/). Я лично думаю, что это гораздо более чистый подход - таким образом, конечный пользователь (или разработчик) не нужно обрабатывать заголовки HTTP, и может просто изменить API/вызов REST, чтобы получить доступ к различным версиям API по мере необходимости.
Я думаю, что также возможно, что некоторые из API HTTP на разных языках могут не иметь полной поддержки для заголовков HTTP, поэтому вы всегда делаете, чтобы сделать API наиболее доступным для конечного пользователя. Переписать URL-адрес-самый простой способ, и он должен работать со всем, что поддерживает HTTP.
Наконец, позволяет указать версию API с помощью URL -адреса позволяет простую тестирование с помощью веб -браузера. Если вы включите в заголовок HTTP в заголовке HTTP, разработчик вынужден использовать язык программирования для тестирования.