Доклад

Эффективное версионирование REST API: Spring MVC, JAX-RS и Annotations, Mixins

  • На русском языке

Расскажу, как мы справляемся с версионированием REST API в условиях высоких нагрузок и частых релизов (каждые две недели). Вы узнаете, как избежать дублирования кода, сохранить обратную совместимость и упростить жизнь разработчику.

Мы используем аннотации (например, @VersionRange), чтобы разделять логику для разных версий прямо в коде, и миксины Jackson для гибкой настройки сериализации без изменения исходных классов, и также рассмотрим вариант гибкой настройки сериализации без миксинов. Для Spring MVC мы разработали кастомный VersionAwareHandlerMapping, который автоматически выбирает нужную версию API на основе заголовка Accept.

В случае JAX-RS (Jersey) я покажу, как модифицировать ресурсы при загрузке приложения, добавляя аннотации @Produces для поддержки разных медиатипов.

Спикеры

Доклады