Implementación de una API RESTful con Spring Framework (VI): Versionado de servicios

, , No Comments
Seguimos con el tutorial para el desarrollo de una API RESTful con Spring Framework y JPA. Después de haber abordado aspectos básicos de la implementación de la API, en esta y siguientes entradas trataré aspectos algo más avanzados.

Para ello, he creado un nuevo proyecto con algunas modificaciones y mejoras sobre el anterior, con el fin de que sirva como ejemplo de todo lo que comentaré en siguientes entradas. En esta entrada, empezaré tratando algo fundamental en cualquier desarrollo de APIs RESTful, como es el versionado de los servicios de la API. 



Existen diferentes alternativas para implementar un mecanismo de versiones de nuestra API. Desde versionado por parámetro en la propia URL, petición de una versión específica de un recurso en el Header de la petición, etc. 

La estrategia que creo que es más sencilla de implementar y la que podemos ver en muchas APIs como Twitter y Facebook, es la basada en el versionado mediante la propia URL. En base a esta estrategia de versionado, las peticiones a nuestra API quedarán de la forma v1/libros, variando en función de la versión del servicio el path de la petición (v1, v2, etc.).

Para implementar el versionado, debemos modificar el controlador, especificando la versión en la raíz del path (línea 27). Además, nombraremos el controlador con un nombre específico para esa versión, en este caso libroController.v1 (línea 26). De esta forma, podremos disponer de diferentes versiones del controlador distribuidas en paquetes distintos de nuestro proyecto sin que entren en conflicto.



Pulsa aquí para acceder al código de esta entrada en mi repositorio GitHub

0 comentarios:

Publicar un comentario