¿Mejores prácticas (ejemplos?) En la organización del código API REST versionado en un proyecto Java / Spring?

Tengo curiosidad si alguien me puede indicar un buen ejemplo / mejor práctica de organizar el código de la API REST con el control de versiones (basado en uri, significa "/ v1 / zzz" y "/ v2 / xxx" o incluso mejor algo que confíe en el encabezado Aceptar) - ¿En proyecto Java / Spring? Me temo que ahora lo estoy complicando demasiado en mi proyecto, así que sería bueno aprender de otros.

Aclaración: no estoy seguro de si debería hacerlo a través de filtros, y luego usar algún patrón de diseño para cambiar el comportamiento, pero esto hará que mi filtro sea bastante complicado ... o puede ser que no esté pensando en algún truco con Spring y DI, así que Puede hacer mi código más limpio. el enfoque más simple es algún patrón de estrategia en cada método que tendrá una versión diferente, pero tampoco parece ser demasiado limpio :-(

Respuestas a la pregunta(1)

Su respuesta a la pregunta