Есть реализация некого rest api.
Самая древняя версия v1, по умолчанию имеет путь site/api. Более новая имеет site/v2/api.
Сейчас в v2 надо внести несовместимые изменения в один метод. Менять на v3 из-за этого не разумно, так как 99% функционала остается прежней.
Принято решение вводить семантическую версионность по спецификации
semver.org для второй реализации REST API. Т.е. у api v2 будет своя версионность.
Для учета рассматриваю библиотеку
https://github.com/nikolaposa/version
Появился вопрос, как лучше в коде учитывать версию?
Т.е. тупо писать в коде условие, если major версия запрашиваемого API меньше 2, то выполняю такой код, иначе другой?
Может есть какие-то хорошие практики?