@Alk90
php, mysql, jquery, css, html, api

Поддержка нескольких версия API приводят к костылям?

Всем привет!
Предположим приложение которое работает с первой версией API, умеет определять только BB тег [IMG=image.jpg].
Допустим, во второй версии API добавляется тег [VIDEO=//youtu.be/h3vd3g3]

Т.к. подключение к БД в любом случае общее, скажем class Posts, то классы обеих версий работают именно с этим классом. А он, соответственно, отдает и теги VIDEO, т.к. они же есть в базе.

Я ничего не придумал лучше как в классе /api/v1/getPosts.php создать дополнительный метод, который выполняется после метода Posts->getFromDb(), он будет искать теги VIDEO, удалять сам тег и оставлять только ссылку. И вроде как все нормально НО....
Предположим появляется третья версия приложения, которая работает с третьей версией API, где появился тег [QUOTE].
Получается, что при создании третьей версии API, я должен вернуться к первой версии и добавить в наш костыльный метод еще один тег для удаления, а во второй версии так же создать такой же метод, который будет удалять только QUOTE

Это нормальная практика?
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 1
Я может не понял, но в вашем примере каждая следующая версия расширяет функционал предыдущей, что позволяет клиенту первой версии спокойно пользоваться третьей.
В этом случае как-то разделять их нет необходимости.
Вот когда очередная версия ломает обратную совместимость (путем изменения/удаления полей, entrypoints, более строгой валидации), то в этом случае вам необходимо иметь две разных версии API.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы